我想为自己在网站中使用的自定义功能创建友好的url。我在主题目录上添加了自定义模板。
如下所示的url重写功能:
function starts_rewrite_rule() {
add_rewrite_rule('^cities-starting-with-([^/]*)/?','index.php?page_id=340&start_letter=$matches[1]','top');
}
add_action('init', 'starts_rewrite_rule', 10, 0);
网址变为:
site.com/cities-starting-with-a/
所有好参数都可以从函数中正确读取。并且当访问的永久链接更改为
site.com/cities-starting-with-pa/
sql查询更改为“ ab”。
更新永久链接后(单击永久链接上的保存)。我想扩展功能并添加另一个URL重写规则。我添加了更高的优先级,因为url模式是相同的(新的url reweire规则有一个额外的参数。所以我复制粘贴相同的函数并添加额外的参数。
function x_letter_cities_starts_rewrite_rule() {
add_rewrite_rule('^([^/]*)-letter-words-starting-with-([^/]*)/?','index.php?page_id=340&length=$matches[1]&start_letter=$matches[2]','top');
}
add_action('init', 'x_letter_cities_starts_rewrite_rule', 14, 0);
该网址应为: site.com/7-number-cities-starting-with-pa /
但是似乎wordpresses重写功能无法正确检测到额外的参数(7)。因此结果与访问的网址相同:site.com/cities-starting-with-pa /
似乎优先级无法正常工作。或url重写规则 IGNORES的第一部分“ 7-number-”仅读取网址“ cities-starting-with-pa /”的第二部分模式,因为它们以相同的模式结尾。
在这种棘手的情况下,谁能帮助我。 感谢您的帮助/提示/想法。
谢谢你, shoku我petrit。