根据您在帖子中提供的信息,我相信您正在使用自定义页面。此处为php模板
Here is the the reasons you get the output as stated:
主查询在加载的每个页面上执行。对于每种类型的模板,主查询都非常具体。
$wp_query
是否为
main query要测试主查询在所有特定模板上的唯一性,请添加print_r($wp_query);
对于所有归档页面(archive.php、category.php、author.php等),请编制索引。php和页面。php。如您所见,每个实例的结果都非常不同。要理解它是如何工作的,你必须阅读Query Overview 在法典中
好的,回到这里,当您使用$wp_query
, 它显示页面主查询中的信息,而不是自定义查询中的信息。
要从自定义查询中获取信息,您必须print_r(VARIABLE USED FOR new WP_Query);
, 在你的情况下print_r($author_query)
.
要获得分页以处理自定义查询,您需要通过paged
参数。此外,使用时next_posts_link()
, 您必须指定$max_pages
参数
这是一个来自法典的工作示例。根据需要修改以适应您的论点等。
<?php
// set the "paged" parameter (use \'page\' if the query is on a static front page)
$paged = ( get_query_var( \'paged\' ) ) ? get_query_var( \'paged\' ) : 1;
// the query
$args = array(
\'post_type\' => \'post\',
\'posts_per_page\' => 10,
\'post_status\' => \'publish\',
\'author_name\' => \'admin\'
\'paged\' => $paged
);
$author_query = new WP_Query( $args );
?>
<?php if ( $author_query->have_posts() ) : ?>
<?php
// the loop
while ( $author_query->have_posts() ) : $author_query->the_post();
?>
<?php the_title(); ?>
<?php endwhile; ?>
<?php
// next_posts_link() usage with max_num_pages
next_posts_link( \'Older Entries\', $author_query->max_num_pages );
previous_posts_link( \'Newer Entries\' );
?>
<?php
// clean up after the query and pagination
wp_reset_postdata();
?>
<?php else: ?>
<p><?php _e( \'Sorry, no posts matched your criteria.\' ); ?></p>
<?php endif; ?>
EDIT
This post 还可以分享更多关于主查询及其工作方式的信息
EDIT 2
我已经更新了代码,以显示您的问题中的具体内容。希望这有帮助