首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wordpress $wp_rewrite

Wordpress $wp_rewrite
EN

Stack Overflow用户
提问于 2014-08-04 22:37:27
回答 1查看 575关注 0票数 0

我有一个关于Wordpress中的$wp_rewrite对象的小问题...

我正在建立一个插件,需要一些路线没有包括在Wordpress中。因此,我尝试使用$wp_rewrite对象中的non_wp_rules操作。

下面是我的代码:

代码语言:javascript
复制
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错误,该文件只包含一个瞬间回显(所以没有错误)。

有没有人有过这样的问题?我做错了什么吗?

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2014-08-04 23:18:31

wp_rewrite测试重定向地址是区域设置还是外部地址。在你的例子中,它是外部的,所以你必须使用一个不同的函数。只需将您的第二个钩子替换为:

代码语言:javascript
复制
add_action('init', 'add_rewrites');

function add_rewrites() 
{
  global $wp_rewrite;

  $wp_rewrite->add_external_rule('documentation/$', 'fileToCall.php');

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25121226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档