我正在使用WordPress网站。当前,Permalink设置在家庭/示例-post/和类别设置为“。目前,我的网址设置为类别,子类别和帖子如下。
类别:保险
分类别:健康保险、汽车保险
当前Permalink结构中的URL集:
I需要不同的网址结构,如
and等用于其他子类别。
设置时,/%类别%/%postname%/
第一组期望的url已实现,但不适用于子类别。任何帮助都将不胜感激。我是Wordpress的新手。
发布于 2023-06-01 14:57:08
您需要定义自己的重写标记,并将标记添加到permalink结构中。
add_rewrite_tag()available_permalink_structure_tags过滤器post_link筛选器以更改帖子的URL下面是未经测试和不完整的代码,但是应该会让你走得很远。
add_action( 'init', static function () {
add_rewite_tag( '%one_category%', '(.+)', 'one_category=' );
} );
add_filter( 'available_permalink_structure_tags', function ( array $tags ) : array {
$tags['one_category'] = 'Only one category';
return $tags;
} );
add_filter( 'post_link', static function ( string $permalink, $post ) : string {
if ( false === stripos( $permalink, '%one_category%' ) ) {
return $permalink;
}
$categories = get_the_category( $post->ID );
$category = array_pop( $categories );
return str_replace( '%one_category%', $category->slug, $permalink );
}, 10, 2 );https://wordpress.stackexchange.com/questions/416426
复制相似问题