我有一个插件,可以在中插入一些重写规则。htaccess文件。然而,停用后,不会删除所述规则。规则嵌套在# BEGIN My plugin
和# END My plugin
.
我想创建卸载。此插件的php文件,以删除在acrivation上创建的规则。
我以前从未这样做过。我想我能拿到。htaccess with
$htaccess = dirname(__FILE__) . \'/../../../.htaccess\';
我是否应该使用正则表达式,或者是否有适当的方法从中删除特定规则。htaccess?
最合适的回答,由SO网友:s1lv3r 整理而成
如何添加重写规则?
如果您手动添加它(打开.htaccess并在php中自己添加行),那么您也应该手动删除它。正如您所建议的那样,最好的方法是使用regex。
如果重写规则是通过Wordpress API使用add_rewrite_rule() 您可以使用flush_rewrite_rules(). 您可以这样使用它:
register_activation_hook( __FILE__, \'myplugin_activate\' );
function myplugin_deactivate() {
global $wp_rewrite;
unset($wp_rewrite->non_wp_rules[\'the-string-you-passed-as-param-to-add-rewrite-rule\']);
flush_rewrite_rules();
}
register_deactivation_hook( __FILE__, \'myplugin_deactivate\' );