默认发布类型上的ADD_REWRITE_RULE

时间:2019-01-15 作者:S Madry

我需要在我的帖子上添加一些重写规则,以便为同一帖子添加一个或多个URL。E、 g级/foo/post-namebar/post-name 应该领导同一岗位。我正在使用此功能:

function addRewritePost() {
    add_rewrite_rule( \'^foo/([^/]+)/?\', \'index.php?name=$matches[1]\', \'top\' );
    add_rewrite_rule( \'^bar/([^/]+)/?\', \'index.php?name=$matches[1]\', \'top\' );
}
add_action(\'init\',\'addRewritePost\');
此代码重定向自foo/post-name/post-name 我不想要这种行为。我如何解决这个问题?

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

这将是一种糟糕的做法,因为WordPress已经内置了这样做的功能。重写内置功能从来都不是一个好主意。

要做到这一点,最好的方法是使用分类法。

假设您创建了两个类别:

现在,选择相关帖子的类别,并将永久链接结构设置为/%category%/%postname%/ 您将获得:

希望这有帮助。

相关推荐

Force pretty permalinks?

我正在构建一个插件,该插件将用于单个站点,并依赖于add_rewrite_rule 要工作,需要打开永久链接。打开它们并不困难,因为它只是一个站点,但我担心其中一个管理员可能会在不知道自己在做什么的情况下关闭它,并破坏该站点。如何以编程方式强制保持漂亮的永久链接?