我将每页帖子数从设置>每页最大帖子数设置为20。我有两种不同的自定义帖子类型“book”和“author”,用于每个帖子的存档。我想在页面中加载不同数量的帖子。我想在图书档案中每页加载20本书,在作者档案中每页加载5篇文章。我还使用了WP PageNavi插件。
这是我的密码
<?php
$paged = get_query_var( \'paged\' ) ? get_query_var( \'paged\' ) : 1;
$args = array( \'post_type\' => \'Author\',\'paged\' => $paged,\'posts_per_page\' =>5 );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post(); ?>
<a href="<?php the_permalink(); ?>" class="writer-link col-md-12 col-sm-12 col-xs-12">
<div class="writer-row1 col-md-12 col-sm-12 col-xs-12">
<div class="col-md-2 col-sm-3 col-xs-12 image-right">
<?php the_post_thumbnail(\'post-thumbnail\',array(\'class\' => \'img-responsive\')); ?>
</div>
<div class="col-md-10 col-xs-12 col-sm-9 col-xs-12 pull-right writer-content">
<h3><?php the_title(); ?></h3>
<h4><?php the_field(\'auth-trans\'); ?></h4>
<?php if ( get_field(\'writer-bio\') ) {
echo \'<p>\'.get_field(\'writer-bio\').\'</p>\';} ?>
<span>...</span>
</div>
</div>
</a>
<?php endwhile; // End of the loop. ?>
<div class="wp-pagenavi row">
<div id="wp_page_numbers text-center col-sm-6 center-margin">
<ul>
<li class="active_page text-center"><?php if(function_exists(\'wp_pagenavi\')) { wp_pagenavi(array( \'query\' => $loop )); } ?></li>
</ul>
</div>
</div>
书籍存档没有问题:它可以加载20篇文章。但我不知道如何才能使作者页面每页只加载5篇文章,在它加载了5篇第一篇文章之后,它将进入下一页。
SO网友:megi
在函数中添加以下代码。php文件,这里的“event”是自定义的post类型(根据您的post类型进行更改),所以在这里它将在事件列表页面上显示6条post,您还需要复制默认存档。php文件,并复制和创建新的存档事件。php(用post类型替换事件)。
function custom_type_archive_display($query) {
if (is_post_type_archive(\'event\')) {
$query->set(\'posts_per_page\',6);
$query->set(\'orderby\', \'date\' );
$query->set(\'order\', \'DESC\' );
return;
}
}
add_action(\'pre_get_posts\', \'custom_type_archive_display\');
希望这有帮助:)
有关如何在自定义页面上列出自定义帖子的更多详细信息,请参阅此链接Custom Posts on Different Pages