用静态页面替换Wordpress类别?

用静态页面替换Wordpress类别?,wordpress,permalinks,Wordpress,Permalinks,我正在重新讨论一个四年前的Wordpress问题,这个问题的答案是经过批准的,但是这个解决方案在当前版本的Wordpress中不再有效。原问题: 背景(从最初批准的答案复制): example.com是域 我有一个名为“foobar”的WP页面,内容丰富 我有一个名为“foobar”的WP帖子类别 我有一篇题为“foobar有趣的事情”的WP帖子,类别设置为“foobar” 期望值 当我转到example.com/foobar时,我希望看到关于foobar的页面,而不是一个WP category

我正在重新讨论一个四年前的Wordpress问题,这个问题的答案是经过批准的,但是这个解决方案在当前版本的Wordpress中不再有效。原问题:

背景(从最初批准的答案复制):

example.com是域

我有一个名为“foobar”的WP页面,内容丰富

我有一个名为“foobar”的WP帖子类别

我有一篇题为“foobar有趣的事情”的WP帖子,类别设置为“foobar”

期望值

当我转到example.com/foobar时,我希望看到关于foobar的页面,而不是一个WP category页面,该页面显示所有具有该类别的博客文章

当我去看关于有趣事物的博客文章时,URL是example.com/foobar/fun-things-to-do-with-foobars/

当时的解决方案

似乎有一个自定义永久链接结构的变通方法,并使用“.”(无引号)作为类别基础。该解决方案不适用于当前版本的Wordpress


还有一些答案建议使用各种插件。我并不公开反对这种做法,但当时建议的插件似乎受到了否定公认答案的相同更新的影响。

要加载与类别名称相同的slug的页面,可以使用以下代码段将类别替换为页面

function wpa_alter_cat_links( $termlink, $term, $taxonomy ){
    if( 'category' != $taxonomy ) return $termlink;
    return str_replace( '/category', '', $termlink );
}
add_filter( 'term_link', 'wpa_alter_cat_links', 10, 3 );
注意代码。你应该有你的所有类别的网页,否则你会得到404为那些没有创建网页的类别

将上述代码添加到激活主题的functons.php文件后,请刷新永久链接。您可以通过访问设置->永久链接->单击保存更改来完成此操作

希望它对你有用