在永久链接中使用类别名称而不是类别 slug

Posted

技术标签:

【中文标题】在永久链接中使用类别名称而不是类别 slug【英文标题】:Use the category name instead of category slug in permalinks 【发布时间】:2013-04-05 20:07:32 【问题描述】:

如何创建一个以下列方式结束的永久链接结构:

/category-name/post-name/

代替:

/category-slug/post-name/

默认情况下,Wordpress 提供%category% 标签结构为"A sanitized version of the category name (category slug field on New/Edit Category panel"。

如何?

【问题讨论】:

【参考方案1】:

我在这里找到了解决方案 - 使用 Custom_post_types 代替 Categories...https://wordpress.stackexchange.com/questions/28979/how-to-change-permalink-structure-for-custom-post-type-and-its-taxonomies/#167992

【讨论】:

【参考方案2】:
add_filter('rewrite_rules_array', 'category_name_rewrite_rule');
function category_name_rewrite_rule($rules) 
    $new_rules = array();
    $categories = get_categories();
    foreach ($categories as $category) 
        $cat_name = preg_replace('#\s+#', '-', $category->name);
        $new_rules['/'.$category->slug.'/'] = '/'.url_encode($cat_name).'/';
    
    return $new_rules + $rules;

【讨论】:

以上是关于在永久链接中使用类别名称而不是类别 slug的主要内容,如果未能解决你的问题,请参考以下文章

Wordpress SLUGS:用页面覆盖类别?

如何将“项目”永久链接更改为 Wordpress 中帖子的类别

在 URL 中显示类别 Slug 而不是 ID

如何获取在 Wordpress 中按类别过滤的自定义帖子类型的永久链接?

Wordpress 类别固定链接

永久链接不适用于自定义帖子和类别