默认WordPress分类固定链接以层级显示父子分类,例如:
https://zvct.com/category/wordpress/plugins/
如仅显示当前分类,去掉了父级分类目录,例如:
https://zvct.com/category/plugins/
可以尝试用下面的方法实现。

可以将下面代码添加到当前主题函数模板functions.php中:
add_filter( 'category_link', 'zm_category_link', 10, 2 );
function zm_category_link( $catlink, $category_id ) {
global $wp_rewrite;
$catlink = $wp_rewrite->get_category_permastruct();
if ( empty( $catlink ) ) {
$catlink = home_url('?cat=' . $category_id);
} else {
$category = &get_category( $category_id );
$category_nicename = $category->slug;
$catlink = str_replace( '%category%', $category_nicename, $catlink );
$catlink = home_url( user_trailingslashit( $catlink, 'category' ) );
}
return $catlink;
}
可以实现相同的效果,添加代码后,记得保存一次固定链接设置才会生效。
add_action( 'init', 'zm_taxonomies', 0 );
function zm_taxonomies() {
register_taxonomy( 'category', 'post', array(
'hierarchical' => true,
'update_count_callback' => '_update_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) : false,
'public' => true,
'show_ui' => true,
'_builtin' => true,
) );
}
同样添加代码后,记得保存一次固定链接设置才会生效。
最后,建议使用插件。代码版改完链接结构,不能301跳转,也就是改完链接,有父目录的链接也可以同时访问,并不会自动跳转到修改后的链接。
转载来自:https://zmingcx.com/single-category-permalink.html
