好的,我第二次搞乱了自定义分类法,在这两种情况下,我都遇到了这个问题,在query\\u posts或WP\\u查询场景中使用posts\\u per\\u page参数。。基本上,如果我对每页的帖子设置了自定义限制,单击“下一步”或“上一步”按钮会显示404个错误。。无论我使用的是自定义permalink结构还是任何默认值,结果都是一样的。我成功控制页面帖子数量的唯一方法是通过仪表板中的阅读设置。
我发现有很多人提到过这个问题,但除了上面提到的仪表板设置之外,还没有找到有效的解决方案:
wordpress.org/support/topic/custom-taxonomy-navigation-problem-paged1-works-paged2-doesnt?replies=8#post-2093828
core.trac.wordpress.org/ticket/16168
wordpress.org/support/topic/custom-taxonomies-with-pagination-getting-404-page-not-found?replies=6#post-2093414
下面是我正在处理这个问题的网站:
http://www.purekreation.com(单击导航中的任何部分,然后尝试导航到底部的前几页)
这是我当前的(非工作)代码:
<?php get_header(); ?>
<div id="art">
<?php global $query_string, $paged, $wp_query, $wp;
$count = 0;
$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
echo $paged;
?>
<?php $term = get_query_var(\'term\'); echo $term;?>
<?php $tax = get_query_var(\'taxonomy\'); echo $tax;?>
<?php
$taxquery=new WP_Query(array(\'tax_query\'=>array(array(\'taxonomy\'=>$tax,\'field\'=>\'slug\',\'terms\'=>$term)),\'post_type\'=>\'art\',\'showposts\'=>1,\'paged\'=>$paged));
while ( $taxquery->have_posts() ) : $taxquery->the_post(); ?>
<?php $genre = wp_get_post_terms($post->ID, \'genre\');?>
<div id="post-<?php the_ID(); ?>" <?php post_class(\'post-\'.$genre[0]->slug.\' post-art\');?>>
<h3 class="work-title"><?php the_title();?></h3>
<?php get_the_10(); ?>
<div class="the-content">
<?php the_content(); ?>
</div>
<footer class="COL-10 clear">
<small class="post-meta"><?php $terms = get_the_term_list( $post->ID, \'genre\', \'Portfolio: \', \' \', \'\' ); echo $terms;?></small>
<small class="post-meta">Project: <?php the_tags( \'\',\', \',\'\');?></small>
<small class="post-meta">Client: <?php $meta = get_post_meta($post->ID, \'client\', true); if($meta==\'\'){echo \'Self\';}else{echo $meta;}?></small>
<small class="post-meta right"><a href="#masthead">Back to top</a></small>
<div class="dash"></div>
</footer>
</div><!-- #post-## -->
<?php $count++; ?>
<?php endwhile; ?>
<div id="nav-below" class="pagination">
<?php if($taxquery->max_num_pages>1){?>
<?php
for($i=1;$i<=$taxquery->max_num_pages;$i++){?>
<a href="<?php bloginfo(\'url\');?>/?<?php echo $tax;?>=<?php echo $term;?>&<?php echo \'paged=\' . $i; ?>" <?php echo ($paged==$i)? \'class="selected"\':\'\';?>><?php echo $i;?></a>
<?php
}
if($paged!=$taxquery->max_num_pages){?>
<a href="<?php bloginfo(\'url\');?>/?<?php echo $tax;?>=<?php echo $term;?>&<?php echo \'paged=\' . $i; //next link ?>">></a>
<?php } ?>
<?php } ?>
</div>
<?php // Reset Post Data
wp_reset_postdata();
// End the loop. Whew.?>
</div><!-- end #art -->
<?php get_footer(); ?>
我不是最熟练的PHP高手,但我对Wordpress非常了解,这个问题让我几乎失眠。如果有人对此事有任何意见,我们将不胜感激。