触发重写规则的最佳方式

时间:2021-02-26 作者:Greeso

我通常通过此操作调用重写规则

add_action(\'init\', \'add_my_rewrite_rules\')
但我不喜欢的是,每次init 动作被触发,这意味着几乎每次刷新页面时都会触发。

这是调用重写规则的正确操作吗?有没有更好的处理方法?(即,无需在每次触发时添加规则init)

谢谢

1 个回复
最合适的回答,由SO网友:Sally CJ 整理而成

init 是建议的钩子,否,不会在每次启动钩子或加载页面时覆盖重写规则,除非调用flush_rewrite_rules()WP_Rewrite::flush_rules() 在您的回拨中。

add_action( \'init\', \'add_my_rewrite_rules\' );
function add_my_rewrite_rules() {
    add_rewrite_rule( ... );
    flush_rewrite_rules(); // don\'t do this
}
因此,请不要这样做,或者只在插件/主题激活和停用时才这样做-如果您还不知道,只需转到永久链接设置管理页面,就可以轻松刷新规则,而无需点击保存更改按钮。

相关推荐