【问题标题】:$wp_rewrite->flush_rules() not working$wp_rewrite->flush_rules() 不工作
【发布时间】:2015-02-13 18:45:43
【问题描述】:

我正在构建一个用于设置自定义帖子类型的 Wordpress 插件,而且它似乎工作得很好而且很花哨。但是,我有一个激活钩子,应该(至少在理论上)设置我的永久链接并刷新我的重写规则,但它不起作用:

register_activation_hook( __FILE__, 'foodsafety_activate' );

function foodsafety_activate() {
  global $wp_rewrite;
  $wp_rewrite->add_rewrite_tag("%inspection%", '([^/]+)', "inspection=");
  $wp_rewrite->add_permastruct('inspection', $inspection_structure, false);    
  $wp_rewrite->flush_rules();
}

如果我进入Settings > Permalinks 并点击“保存更改”,规则会被刷新,并且永久链接按预期工作,所以我一定是在激活钩子的某个地方出错了。有什么想法吗?

【问题讨论】:

    标签: php wordpress rewrite hook


    【解决方案1】:

    您是否复制了所有功能代码? 因为,$inspection_structure 似乎是空的..

    【讨论】:

    • 啊,你是对的。我不假思索地从某个地方复制并粘贴了代码!不过,add_permastruct 似乎并没有很好的记录。关于应该放什么的任何想法?
    【解决方案2】:

    你确定 register_activation_hook(FILE, 'foodsafety_activate');在主插件文件中吗?我遇到过同样的问题。事实证明,注册激活仅在放置在主插件文件中时才有效。

    【讨论】:

      猜你喜欢
      • 2016-12-04
      • 2012-10-19
      • 2015-09-18
      • 2011-01-13
      • 2018-11-09
      • 2013-10-29
      • 1970-01-01
      • 1970-01-01
      • 2016-03-27
      相关资源
      最近更新 更多