我的重写规则functions.php
效果很好。
function custom_offers_rewrite() {
add_rewrite_rule('^offers/([a-z-_]+)/?', 'index.php?page_id=1948&offer_restaurant=$matches[1]', 'top');
}
这看起来像/offers/my-custom-path
然后加载特定的页面模板/ID (page_id=1948)。这个模板显示了一些自定义的东西,我们都很好。
虽然这很好,但我在 URL 路径上有一个文字页面,/offers/all
我想将其从重写规则中排除。
这有可能吗?
所以,换句话说,如果我们击中/offers/all
,只需忽略规则并照常进行即可。如果有其他情况,请按照当前有效的规则执行。
我想它需要对正则表达式进行一些调整,但我几乎不擅长模式匹配。
感谢帮助和建议。非常感谢!
好吧,我最终想通了。
将忽略的工作代码/offers/all
但与其他一切一起工作:
function custom_offers_rewrite() {
add_rewrite_rule('^offers/(?!all)([a-z-_]+)/?', 'index.php?page_id=1948&offer_restaurant=$matches[1]', 'top');
}
关键部分是添加(?!all)
进入正则表达式。
希望这能够帮助其他人。
重要的:请记住在 WordPress 中保存永久链接,以便刷新重写缓存!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)