WP分页并从页面中排除类别


WP-pagination and excluding category from page

我正在尝试在帖子存档页面上使用 WP 分页,但从要显示的一个类别中排除帖子。

当我将其添加到我的代码中时,存档的 page2,3,4... 显示相同的前 10 个帖子:

<?php query_posts('cat=-4');?>

这是我的页面模板的完整代码,因此我将不胜感激您的所有帮助:

<?php 
/*
Template Name: Post archive
*/
?>
<?php get_header(); ?>
<div class="container">
        <div class="content col-md-9">
            <div class="home-content">          
                <!-- Show posts -->
                <?php 
                    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
                    $args = array(
                                'paged'=> $paged, 
                                'posts_per_page'=> 10
                        );
                        query_posts($args); ?>
                    <?php query_posts('cat=-4');?>
                    <?php if ( have_posts() ) : while (have_posts()) : the_post(); ?>
                    <div style="float:left; margin:1%;">
                    <?php 
                    if ( has_post_thumbnail() ) { // check if the post has a Post Thumbnail assigned to it.
                        the_post_thumbnail( 'thumbnail', array( 'class' => 'img-post')); // show featured image
                    }
                    ?>
                    </div>
                    <h1 class="post-thumb"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h1>
                    <h4>Category: <?php the_category(', '); ?></h4>
                    <p><?php the_excerpt(); ?></p>
                    <hr style="margin-bottom:5%">
                    <?php endwhile; ?>
                    <!-- pagination -->
                    <div class="nav-previous alignleft" style="margin-top:-1%"><?php next_posts_link( 'See older posts' ); ?></div>
                    <div class="nav-next alignright" style="margin-top:-1%"><?php previous_posts_link( 'See newer posts' ); ?></div>
                    <?php else : ?>
                       <p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
                    <?php endif; ?>
            </div>
        </div>
        <div class="col-md-3 sidebar unstyled">
                <?php dynamic_sidebar( 'home1' );   ?>
        </div>
        <div class="col-md-3 sidebar unstyled sidebar-space">
                <?php dynamic_sidebar( 'home2' );   ?>
        </div>
        <div class="col-md-3 sidebar unstyled sidebar-space">
                <?php dynamic_sidebar( 'articles1' );   ?>
        </div>
</div>
        </div>
    </body>
</html>
<?php get_footer(); ?>

这段代码修复了我的页面:

<?php 
                    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
                    $args = array(
                                'cat'=> -4,
                                'paged'=> $paged, 
                                'posts_per_page'=> 10
                        );
                        query_posts($args); ?>
                    <?php if ( have_posts() ) : while (have_posts()) : the_post(); ?>

修改以反映OP的解决方案,以造福未来的读者

略微更改query()

如下所示
$args = array(
     'cat'=> -4, 
     'posts_per_page'=> 10,
     'paged'=> $paged
      );