Advanced permalinks structure

时间:2013-02-23 作者:Mike

我想得到这个:

mysite.com/category/tag/
示例:

mysite.com/news/sports/
新闻是一个类别,体育是一个标签

我该怎么做?

谢谢

1 个回复
最合适的回答,由SO网友:Matthew Boynes 整理而成

WordPress实际上是为支持这种开箱即用的设置。您可以访问mysite.com/?category_name=news&tag=sports 看到奇迹发生。这里我们所需要做的就是将永久链接结构与这个现有URI匹配,而WP使这变得非常容易。

在主题的功能中。php文件,添加:

add_action( \'init\', \'wpse_88059_add_rewrites\' );
function wpse_88059_add_rewrites() {
    add_permastruct( \'category_tags\', \'%category%/%post_tag%\', array( \'walk_dirs\' => false ) );
}
现在,请确保通过转到“设置”->“永久链接”并单击“保存更改”(实际上不必更改任何内容)来重新加载重写规则,这样就完成了!

注意事项

这将添加一些“通配符”重写规则,这些规则很容易干扰其他规则,具体取决于您的网站内容、永久链接结构等。例如,假设您的永久链接结构为“Day and name”,它为年/月归档页(如/2013/02/)添加了规则。These links will no longer work 因为WordPress希望找到一个类别“2013”和一个标签“02”。

这就是WordPress通常在元素前面加前缀的原因,如/category/news/。根据您的需要,这些冲突可能会破坏交易,也可能没有意义,这取决于您和您的项目。如果要添加静态前缀(或后缀),可以更改%category%/%post_tag% 大概是archives/%category%/%post_tag% 获取URI,如/档案/新闻/体育/或%category%/%post_tag%/articles 获取URI,如/新闻/体育/文章/。

结束

相关推荐

Get tags specific category

我使用此代码从类别中获取标记。get all tags from category我想在类别页面中显示特定的标签。我有8个类别,这是我的代码: <?php if (is_category(\'10\')) { ?> <?php $args = array( \'categories\' => \'10\' ); $tags = get_category_tags($args); $content .=