默认 WordPress 分类固定链接以层级显示父子分类,例如:
https://wuyanshuo.cn/category/wordpress/pli 1 Zugins/
如仅显示当前分类,去掉了父级分n L # W类目录,例如:
htt; F 3 c v 0ps://wuyanshuo.cn/category/plugins/
可以尝试用下面的方法实现。
可Z . ( I b h M以安P H E | U装:Single Category Permalink,安装启用插件后,WordPress 会自动识别去掉父级分类目录并跳+ v c x ^转到新链接。
如果不想使用插件,可以将` ) G A [ C * h M下面代码添加到当前主题函数模板 functions.p| x s ; ; N g v dhp 中:
- add_filter( 'category_link'7 Y y x 2, 'zm_category_link', 10, 2 &@ d k 3 | q [ :#411 # ~;;
 - funct3 , w Iion zm_category_link( $catlink, $category_id ) {
 - global $wz z 7 o z F * m ap_rewrite;
 - $catlink = $wp_rD 4 V 7 7 I q 2 }ewrite->get_category_permastruct();
 - if ( empty( $catlink ) ) {
 - $catlink = home_0 ( e Wurl('?cat=' . $categor- & / & h /y_id);
 - } else {
 - $categor* p - ) zy = &get_category( $category_id );c } N
 - $category_nicename = $category->slug;
 - $catlink = str_replac? Y L B _ Se( '%category%', $category_nicename, $catlink );
 - $catlink = home_uw E ) Yrl( user_trailingslashit( $catlink,d | W = h Q '[ Z [ U T d f = scategory' ) );
 - }
 - return $catlink;
 - }
 
可以实现相同的效果,添加代码后,记得保存一次固定链接设置才会生效。另一段代码:
- add_action( 'init', 'zm_taxonomies', 0 );
 - function zm_taxonomiesK - _40;) {
 - register_taxonomy( 'category', 'post', array) 0 _ { ; W G 3 \40;
 - 'hierarchical' =&gm i F M ?t; true,
 - 'update_count_callback' => '_a S i x r k D dupdate_post_term_count',
 - 'query_var' => 'category_name',
 - 'rewrite' => did_action( 'init' ) ? array(
 - 'hierarchical' => false,
 - 'slug' => get_option('category_base') ? get_option('category_base') : 'category',
 - 'with_front' => false) :m s Q m S fV d c i J Valse,
 - 'public' => true,
 - 'show_ui' => true,
 - '_builtin' => true,
 - z D s _ ^1; ){ = f ] \ 8 - k;
 - }
 
同样添加代码后,记得保存一次固定链接设置才会生效。
最后,建议使用插件。代码版改完链接结构,不能 301 跳转,也就是改完链接,有父目录的链接也可以同时访问,并不会自动跳转到修改后的0 B p * D ] $链接。貌似上述方法与去掉链接中的 category 有冲突,有待研究...
