将永久链接更改为帖子名称后,分类上的路径已损坏

时间:2015-01-12 作者:beth

我有一个自定义分类法。我可以访问分类法栏中带有术语foo的项目列表mysite.dev/?bar=foo. 然后,我将永久链接选项从默认更改为“post name”。我无法再访问我的分类法/?bar=foo 也不在/bar/foo, 当我(通过仪表板)进入Posts>bar>foo>View时,它会指引我去哪里。我有一个WP 404(不是Apache 404)。

我的htaccess仅包含

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
我尝试了MySQL查询delete from wp_options where option_name="rewrite_rules" 然后重新保存永久链接设置。没有变化。

是的,我已通过命令行清除缓存:wp cache flush

分类在函数中注册。php:

    // Hook to run the function on init
    add_action(\'init\', \'register_taxonomy_topic\');

    function register_taxonomy_bar() {
      register_taxonomy(
          \'bar\', 
          array(\'post\'),
          array(
              \'label\' => __(\'Bar\'),
              \'show_ui\' => true,
              \'hierarchical\' => false,
              \'capabilities\' => array(
                  \'manage_terms\' => \'administrator\',
                  \'edit_terms\'   => \'administrator\',
                  \'delete_terms\' => \'administrator\',
              )
          )
      );
    }
    add_action(\'init\', \'register_taxonomy_bar\');
var_dump($wp_query[\'request\']) 给了我SELECT wp_posts.* FROM wp_posts WHERE 1=1 AND wp_posts.post_name = \'barfoo\' AND wp_posts.post_type = \'post\' ORDER BY wp_posts.post_date DESC 所以我可以看到,它正在寻找一个名为“barfoo”的帖子,而不是在分类法“bar”中使用“foo”一词的帖子。

我曾尝试在Wordpress附带的214主题中以完全相同的方式注册相同的分类法,但我遇到了同样的问题。我激活的插件有:高级自定义字段、高级自定义字段:导航菜单字段、高级自定义字段Pro、增强型媒体库、Google XML站点地图、重定向、SVG支持、事件日历和木材。我试图禁用重定向,看看这是否是问题所在,但它不允许我禁用它。

我尝试将所有内容更新到最新版本,进展顺利,但没有解决此问题。

这是什么原因造成的?我该如何解决?

1 个回复
SO网友:beth

我手动添加了一个重写规则。

  add_rewrite_rule(\'^bar([^/]+)(/[0-9]+)?/?$\',\'index.php?bar=$matches[1]\',\'top\');
紧接着

add_action(\'init\', \'register_taxonomy_bar\');
在函数中。php。

但是Wordpress在翻译方面非常密集/bar/foo/barfoo?bar=foo 我不知道如何在路上避开这个荒谬的“巴福”。我也不知道它会对分页做什么。此外,还必须为每个自定义分类法定义这一点。

尽管如此,它还是有点奏效。

结束

相关推荐

Custom permalinks structure

我希望有这样的结构:www.mysite.com/2013 (必须显示2013年的所有职位)www.mysite.com/my-category/2013 (必须显示2013年和“我的类别”类别的所有帖子)www.mysite.com/my-category/my-tag/ (必须显示所有类别为“我的类别”和标记为“我的标记”的帖子)www.mysite.com/my-category/ (必须显示“我的类别”类别的所有帖子)www.mysite.com/my-