我有一个关于Wordpress中的$wp_rewrite对象的小问题...
我正在建立一个插件,需要一些路线没有包括在Wordpress中。因此,我尝试使用$wp_rewrite对象中的non_wp_rules操作。
下面是我的代码:
add_filter('generate_rewrite_rules', 'add_rewrites');
add_filter('wp_loaded', 'flush_rules');
function flush_rules()
{
$rules = get_option('rewrite_rules');
global $wp_rewrite;
$wp_rewrite->flush_rules();
}
function add_rewrites()
{
global $wp_rewrite;
$rules = array(
'documentation/$' => 'fileToCall.php'
);
$wp_rewrite->non_wp_rules += $rules;
}但我不明白..。我的路由添加了任何问题(只是$wp_rewrite上的一个var_dump告诉我一切正常),但似乎我试图调用的文件(fileToCall.php)在Firefox开发控制台中返回了404错误,该文件只包含一个瞬间回显(所以没有错误)。
有没有人有过这样的问题?我做错了什么吗?
谢谢你的帮助。
发布于 2014-08-04 23:18:31
wp_rewrite测试重定向地址是区域设置还是外部地址。在你的例子中,它是外部的,所以你必须使用一个不同的函数。只需将您的第二个钩子替换为:
add_action('init', 'add_rewrites');
function add_rewrites()
{
global $wp_rewrite;
$wp_rewrite->add_external_rule('documentation/$', 'fileToCall.php');
}https://stackoverflow.com/questions/25121226
复制相似问题