Mic*_*umo 2 php wordpress url-rewriting
我的重写规则functions.php运行得很好。
function custom_offers_rewrite() {
add_rewrite_rule('^offers/([a-z-_]+)/?', 'index.php?page_id=1948&offer_restaurant=$matches[1]', 'top');
}
Run Code Online (Sandbox Code Playgroud)
这会查找类似的内容/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');
}
Run Code Online (Sandbox Code Playgroud)
关键部分是添加到(?!all)正则表达式中。
希望这能够帮助其他人。
重要提示:请记住在 WordPress 中保存永久链接,以便刷新重写缓存!
| 归档时间: |
|
| 查看次数: |
1302 次 |
| 最近记录: |