在我的插件中,我连接了以下函数register_activation_hook
. 规则添加正确。
public function add_rules(){
global $wp_rewrite;
$wp_rewrite->add_external_rule( \'(.+)\\.([0-9\\.\\-\\_]+)\\.(js|css)$\' , \'$1.$3\');
$wp_rewrite->flush_rules();
update_option($this->key.\'-plugin-version\', $this->version);
}
当我访问永久链接设置页面时,该规则再次被删除。保存永久链接设置时不会将其添加回。
这是由于Permalink page flushes all rules 打开时。(保存设置时除外。)
有没有办法阻止删除自定义规则?
最合适的回答,由SO网友:TheDeadMedic 整理而成
保持激活功能不变,并为重写规则挂钩创建另一个:
function wpse_209303_rewrite_rules( $wp_rewrite ) {
$wp_rewrite->add_external_rule( \'(.+)\\.([0-9\\.\\-\\_]+)\\.(js|css)$\' , \'$1.$3\');
}
add_action( \'generate_rewrite_rules\', \'wpse_209303_rewrite_rules\' );