下面是作者的代码。php文件。问题是next_posts_link
和previous_posts_link
仅根据相关作者在博客中撰写的帖子数量生成链接,而不是根据查询中的帖子数量(包括页面和事件)生成链接。我使用WP\\u Query添加了推荐的自定义帖子类型“events”here. 我发现这种行为很奇怪,因为页面显示的是查询结果,但previous/next_posts_link\'s
正在做完全不同的事情。有人能看到我的错误吗?这是WordPress的问题吗。
<?php get_header();
// add evemts post type to query
$query = new WP_Query( array(
\'post_type\' => array( \'post\', \'page\', \'events\' )
));
if($query->have_posts()) : ?>
<h2 class="title">Posted by : author </h2>
<div id="main">
<div id="content">
<?php while($query->have_posts()) : $query->the_post(); ?>
<div class="archive-post" id="<?php the_ID(); ?>">
<div class="blog-entry">
<h3 class="blog-title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
<div class="entry-meta">Entry meta here</div>
<?php the_excerpt(); ?>
<div class="entry-utility">
<?php edit_post_link( \'Edit\', \'<span class="edit-link">\', \'</span>\' ); ?>
</div>
</div>
</div> <!-- .post -->
<?php endwhile; endif; ?>
<!-- navigation -->
<div class="navigation clear">
<div class="alignleft"><?php next_posts_link(\'« Older Entries\') ?></div>
<div class="alignright"><?php previous_posts_link(\'Newer Entries »\') ?></div>
</div>
</div> <!-- end #content -->
<?php get_sidebar(); ?>
</div><!-- #main -->
<?php get_footer(); ?>
EDIT : 我刚刚发现
this 页面详细说明了问题,但在实现解决方案后,虽然链接现在显示的内容确实有所改进,但出于某种原因,它们仍将我指向404页面
最合适的回答,由SO网友:byronyasgur 整理而成
我首先通过实施the solution 我在上面的编辑中进行了描述,然后通过添加下面的代码(来自this question ) 至功能。php。顺便说一下,我在最后一页的404上仍然有一个问题seemingly 是由于将“posts\\u per\\u page”设置为小于WordPress设置中的值,我很乐意自己使用WordPress设置,所以我将其从查询中删除。
function custom_author_archive( &$query ) {
if ($query->is_author)
$query->set( \'post_type\', array( \'post\', \'page\', \'events\' ) );
}
add_action( \'pre_get_posts\', \'custom_author_archive\' );