我想在category.php中设置不同数量的帖子。我希望每页显示15篇文章,并加以分页。
我正在使用二十四个主题。我怎样才能做到这一点?
我的代码是:
<?php
get_header(); ?>
<section id="primary" class="content-area">
<div id="content" class="site-content" role="main">
<?php if ( have_posts() ) : while ( have_posts() ) : the_post();
?>
<div class="post-cat">
<?php
if ( has_post_thumbnail() ) {
the_post_thumbnail();
}
?>
<h2><a href="<?php the_permalink(); ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
<p><?php the_category( ', ' ); ?></p>
<?php endwhile; else : ?>
<p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif; ?>
</div><!-- #content -->
</section><!-- #primary -->
<?php
get_sidebar( 'content' );
get_sidebar();
get_footer();
答案 0 :(得分:3)
在二十四个中已经很好地设置了所有内容,因此您不需要使用自定义查询修改任何内容。
创建child theme,以便您可以进行修改,以免丢失任何有关更新的工作
使用add_action( 'pre_get_posts', function ( $query )
{
if ( !is_admin() && $query->is_main_query() && $query->is_category() ) {
$query->set( 'posts_per_page', 15 );
}
});
调整类别页面上的主查询,以显示每页15个帖子。
将以下内容添加到您的子主题functions.php或自定义插件(请注意,由于使用了闭包,您需要安装PHP 5.3+才能正常工作)
img
答案 1 :(得分:1)
试试这段代码。
<?php
get_header(); ?>
<section id="primary" class="content-area">
<div id="content" class="site-content" role="main">
<?php
$query = new WP_Query(array(
'posts_per_page' => 15
));
if ( have_posts() ) : while ($query->have_posts()): $query->the_post();
?>
<div class="post-cat">
<?php
if ( has_post_thumbnail() ) {
the_post_thumbnail();
}
?>
<h2><a href="<?php the_permalink(); ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
<p><?php the_category( ', ' ); ?></p>
<?php endwhile; else : ?>
<p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif; ?>
</div><!-- #content -->
</section><!-- #primary -->
<?php
get_sidebar( 'content' );
get_sidebar();
get_footer();
?>