如何更改WordPress中的类别url:show/ategory/%ategory_id%?

时间:2019-11-30 作者:Glu

我想将文章url更改为

www.***.com/post/%post_id%
例如,

www.***.com/post/156/
现在,我做到了。

但我不知道如何像这样改变类别。例如

www.***.com/category/12/
通常,类别url为:

www.***.com/category/cat1/cat1.1/cat1.1.1/
我想得到:

www.***.com/category/cat1.1.1/
现在我只想显示cat1.1.1的ID,如:

www.***.com/category/12/ ( the id of cat1.1.1 is 12 )

2 个回复
最合适的回答,由SO网友:Glu 整理而成

我在网上找到了我的答案。

function numeric_category_rewrite_rules( $rules ) {
    $custom_rules = array();
    foreach ( $rules as $regex => $rewrite ) {
        $regex = str_replace( \'/(.+?)/\', \'/([0-9]{1,})/\', $regex );
        $rewrite = str_replace( \'?category_name=\', \'?cat=\', $rewrite );
        $custom_rules[ $regex ] = $rewrite;
    }
    return $custom_rules;
}
add_filter( \'category_rewrite_rules\', \'numeric_category_rewrite_rules\' );

function numeric_category_link( $category_link, $term_id ) {
    global $wp_rewrite;
    if ( $wp_rewrite->using_permalinks() ) {
        $permastruct = $wp_rewrite->get_extra_permastruct( \'category\' );
        $permastruct = str_replace( \'%category%\', $term_id, $permastruct );
        $category_link = home_url( user_trailingslashit( $permastruct, \'category\' ) );
    }
    return $category_link;
}
add_filter( \'category_link\', \'numeric_category_link\', 10, 2 );

SO网友:Spcaeyob

转到管理面板->设置->永久链接。将permalink结构更改为数字。同时将您的类别基础更改为类别。这将为您提供所需的永久链接结构,即:

www.**。com/类别/12/

我不知道你的意思

只显示最后一个子类别。

相关推荐

Categories manage

我正在尝试向CPT中添加特定类别,只有在添加新帖子时,您才能看到与这些帖子类型相关的类别。此外,我希望能够从后端添加类别,而不是从代码添加类别,因为我有很多类别将要更改。如果有一个插件可以做到这一点,那很好,但我也希望了解它是如何做到的。非常感谢