[英]Wordpress Basic Custom Rewrite Rule
对于这个简单的问题,我对此网站上无数次的回答无疑感到很抱歉,但是我无法弄清楚为什么我的重写规则没有生效。
这是我的代码:
add_action('init', 'update_rewrite_rules');
function update_rewrite_rules(){
add_rewrite_rule('^org/([^/]+)', 'index.php?pagename=about-us&org=$matches[1]', 'top');
add_rewrite_tag('%org%', '[0-9]+');
}
据我了解,这应该将“ myurl.com/org/13”转换为“ myurl.com/index.php?pagename=about-su&org=13”。 我究竟做错了什么???
我可以将它写到.htaccess文件中,但是,当然,我遇到了Wordpress的自定义PHP重写函数取代我的代码的问题,因此仅找到了变量,但没有找到页面。
无论如何,任何建议或问题的思考将不胜感激! 谢谢。
我相信您必须在实际的重写规则之前注册您的查询变量。 另外,如Wordpress Rewrite API中所述 ,只有刷新新规则并重新生成缓存后,它才能识别新规则。
//Ensure the $wp_rewrite global is loaded
global $wp_rewrite;
//Call flush_rules() as a method of the $wp_rewrite object
$wp_rewrite->flush_rules();
请注意,出于性能原因,您不应仅在插件激活时就执行每个请求。
add_action('admin_init', 'flush_rewrite_rules');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.