我想仅针对特定类别从Wordpress URL中删除类别库。 例如,我需要改变: mysite.com/category/blog 至 mysite.com/blog
但我想保持其他类别不变: mysite.com/category/songs
我认为可以通过一些.htaccess规则来实现,但我发现了一些删除所有网址中基本类别的通用规则。
答案 0 :(得分:2)
您可以使用Enhanced Custom Permalinks Wp插件轻松实现此目的。你只需要编辑类别,你就会看到一个字段来添加你的自定义网址。
答案 1 :(得分:2)
这可以通过一些自定义过滤器来实现。动作。 尝试将此代码放在主题的functions.php文件中:
add_filter( 'post_link', 'custom_permalink', 10, 3 );
function custom_permalink( $permalink, $post, $leavename ) {
// Get the categories for the post
$category = get_the_category($post->ID);
if ( !empty($category) && $category[0]->cat_name == "News" ) {
$permalink = trailingslashit( home_url('/'. $post->post_name .'-'. $post->ID .'/' ) );
}
return $permalink;
}
add_action('generate_rewrite_rules', 'custom_rewrite_rules');
function custom_rewrite_rules( $wp_rewrite ) {
// This rule will will match the post id in %postname%-%post_id% struture
$new_rules['^([^/]*)-([0-9]+)/?'] = 'index.php?p=$matches[2]';
$wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
return $wp_rewrite;
}
这将为帖子设置所需的永久链接结构:
答案 2 :(得分:0)
您可以在不使用插件的情况下轻松完成此操作。 通过管理面板 转到设置 - >永久链接并选择默认为自定义
在这里你知道更多.. https://codex.wordpress.org/Using_Permalinks