作为一名插件开发人员,我希望确保我的插件在从升级时不会留下任何自定义设置v1.0
到v2.0
.
每当用户卸载我的插件时,我都会创建一个uninstall.php
文件(标准实践),它自动删除我的插件的所有设置,以进行干净的删除:
if ( !defined( \'WP_UNINSTALL_PLUGIN\' ) ) { // Exit if accessed directly
exit;
}
// Remove all plugin options with the prefix "myplugin_"
global $wpdb;
$plugin_options = $wpdb -> get_results( "SELECT option_name FROM $wpdb->options WHERE option_name LIKE \'myplugin_%\'" );
foreach( $plugin_options as $option ) {
delete_option( $option -> option_name );
}
此脚本自动删除前缀为的所有选项myplugin_
例如:myplugin_some_option
myplugin_another_option_here
myplugin_yup_this_one_too
etc...
然而,我已经在开发一个新版本的插件,在我的设置页面中添加了新选项。如果用户有我的插件的旧版本,并且正在升级到下一个版本而没有卸载它,我如何确保删除所有旧插件选项以进行干净的升级?是否uninstall.php
当用户升级到我的插件的新版本时,文件是否自动运行?