【问题标题】:Replacing Wordpress Category with Static Page?用静态页面替换 Wordpress 类别?
【发布时间】:2019-09-27 17:54:43
【问题描述】:

我正在重新讨论 4 年前的一个 Wordpress 问题,该问题的答案已获批准,但该解决方案在当前版本的 Wordpress 中不再适用。原题:Make Wordpress use the page instead of category

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

example.com 是域

我有一个名为“foobar”的 WP 页面,其中包含内容

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

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

期望

当我访问 example.com/foobar 时,我想查看关于 foobars 的页面,而不是显示所有具有该类别的博客文章的 WP 类别页面。

当我访问有关有趣事物的博文时,URL 是 example.com/foobar/fun-things-to-do-with-foobars/

当时的解决办法

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

还有几个答案建议使用各种插件。我并没有公开反对这条路线,但当时建议的插件似乎受到了否定接受答案的同一更新的影响。

【问题讨论】:

    标签: wordpress permalinks


    【解决方案1】:

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

    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 文件后,请刷新永久链接。您可以通过访问设置 -> 永久链接 -> 单击保存更改来做到这一点

    希望它对你有用!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多