带有叶子类别的Wordpress存档永久链接

时间:2018-07-21 15:34:21

标签: wordpress permalinks

使用%category%设置的Wordpress Category Archive永久链接包括完整的类别树。我只想在URL中看到叶子类别,而不是整个树。

示例:

Wordpress Category: recipes > baking > bread
current permalink for archive: domain.com/recipes/baking/bread
desired permalink: domain.com/bread

我一直在网上搜索,却不知道如何将更改挂钩或过滤到我的wordpress代码中,因此非常欢迎任何想法和帮助。 谢谢 扬

1 个答案:

答案 0 :(得分:0)

经过搜索后,我发现了答案,以防其他人遇到类似问题。以下代码将只保留归档永久链接中最深的类别,并删除所有父类别。

add_filter( 'category_link', 'wpse7807_category_link', 10, 2 );
function wpse7807_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;
}

https://wordpress.stackexchange.com/questions/7807/changing-the-category-permalink-structure表示敬意。