在使用wordpress自定义分类法创建好分类,然后在做列表页面需要分页时,发现点击第二页时出现了404,经过反复测试,发现根本就没找到这个列表页面。
第一反应肯定是规则出现问题,于是就开始弄wordpress的规则链接,果不其然确实是规则的问题,下面是解决的代码,将其加到function.php中,并且需要点击 后台“设置->固定链接” 更新
function generate_taxonomy_rewrite_rules( $wp_rewrite ) { $rules = array(); $post_types = get_post_types( array( 'public' => true, '_builtin' => false ), 'objects' ); foreach ( $post_types as $post_type ) { $post_type_name = $post_type->name; $post_type_slug = $post_type->rewrite['slug']; $rules[$post_type_slug . '/page/([0-9]+)/?$'] = 'index.php?post_type='.$post_type_slug . '&page=' . $wp_rewrite->preg_index( 1 ); } $wp_rewrite->rules = $rules + $wp_rewrite->rules; } add_action('generate_rewrite_rules', 'generate_taxonomy_rewrite_rules');
注意这个是分页的动态地址:’index.php?post_type=’.$post_type_slug . ‘&page=’ . $wp_rewrite->preg_index( 1 );
若是出现别的地方点击404的问题,十有八九也是这个问题。
评论抢沙发