我已经为我的分类法和自定义帖子类型创建了自定义分类法模板,
自定义帖子类型名称为“ecommerce”,自定义分类法为“ecommerce\\u categories”,问题在于分页。它正确显示有2个页面包含帖子,但当我单击第2页时,我得到404页,只有在分类法页面上时才会出现这种情况,我还创建了一个自定义页面模板,该模板的作用与分类法文件相同,并且分页在这里(在自定义页面模板上)起作用。问题只出现在分类法类别页面上。这是文件taxonomy-ecommerce\\u categories的代码。php
<?php
$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
$term = $wp_query->queried_object;
$shop_loop = new WP_Query( array( \'post_type\' => \'ecommerce\', \'ecommerce_categories\' => $term->name, \'posts_per_page\' => 2, \'orderby\' => \'menu_order\', \'paged\'=>$paged ) ); ?>
<?php while ( $shop_loop->have_posts() ) : $shop_loop->the_post(); ?>
// here is my loop code with divs links etc.. etc...
<?php endwhile;?>
<div class="clearfix"></div>
<?php if(function_exists(\'wp_pagenavi\')) { wp_pagenavi( array( \'query\' => $shop_loop ) ); } ?>
我看到了分页,但当我单击第2页或第3页时,我会看到404错误页面,这会发生在任何永久链接设置中,并且如果我使用此代码将分页从wp pagenavi插件更改为wordpress默认值
<?php wp_link_pages(); ?> or previous_post_link and next_post_link
我看不到,帖子下面什么都没有显示。
我怎样才能解决这个问题?我做错了什么?
SO网友:brownian
我自己解决了这个问题rewrite rule.
故事:我有"piece"
自定义帖子类型,分类法"media_tag"
具有"m_audio"
术语和分类"genre_tag"
具有"g_sacred"
, "g_folk"
等等,我想有一个URL/piece/audio/<genre>
访问存档。
所以,现在我的functions.php
:
add_filter( \'rewrite_rules_array\', \'my_insert_rewrite_rules\' );
function my_insert_rewrite_rules( $rules ) {
$newrules = array();
// audio pieces with g_sacred tax:
$newrules[\'piece/audio/([a-z]+)(/page/([0-9]+))?\'] =
\'index.php?post_type=piece&media_tag=m_audio\'
. \'&genre_tag=g_$matches[1]&paged=$matches[3]\';
return $newrules + $rules;
}
而且里面什么都没有
taxonomy-media_tag-m_audio.php
样板
希望这有帮助。
还有,我的functions.php
:
// add_action( \'wp_loaded\',\'my_flush_ALL_rules\' );
function my_flush_ALL_rules(){
global $wp_rewrite;
$wp_rewrite->flush_rules();
}
我取消了注释
add_action
在更改后刷新规则。