更改自定义分类归档固定链接

时间:2020-10-09 作者:Saeesh Tendulkar

我已经创建了一个名为video的自定义帖子类型和一个自定义的分类法,用于将video作为video\\u类别。我创建了一个名为taxonomy-video\\u category的页面模板。php。这样可以在URL mysite上查看视频的类别。com/video\\u category/{category\\u name}。

我需要将此URL更改为mysite。com/videos/category/{category\\u name}。我尝试了插件自定义永久链接。但它不允许我在编辑taxonomy video\\u类别时更改此URL。

我希望这样做最好不使用插件。我该怎么做?

1 个回复
最合适的回答,由SO网友:Sally CJ 整理而成

您可以使用rewrite parameter 自定义分类permalinks。

下面是一个将分类法链接到默认分类法的示例post 岗位类型:

register_taxonomy( \'video_category\', \'post\', [
    \'public\'   => true,
    \'rewrite\'  => [
        \'slug\' => \'videos/category\',
    ],
    // ... your other parameters ..
] );
不要忘记刷新重写规则-只需访问permalink设置管理页面。

如果分类法是由插件注册的,并且(以防万一)它不允许更改重写段塞,那么可以使用一个过滤器挂钩以编程方式更改段塞:register_taxonomy_args. 下面是一个简化的示例:

add_filter( \'register_taxonomy_args\', \'my_register_taxonomy_args\', 10, 2 );
function my_register_taxonomy_args( $args, $taxonomy ) {
    if ( \'video_category\' === $taxonomy ) {
        $args[\'rewrite\'] = (array) $args[\'rewrite\'];
        $args[\'rewrite\'][\'slug\'] = \'videos/category\';
    }

    return $args;
}

相关推荐