目标作为所有插件开发人员,我想删除所有以相同前缀开头的选项。
我开发了一个插件,可以在选项中存储数据。当用户卸载插件时uninstall.php
插件中执行以下代码:
if ( !defined( \'WP_UNINSTALL_PLUGIN\' ) ) {
exit;
}
delete_option( \'myplugin_some_opt_1\' );
delete_option( \'myplugin_some_opt_2\' );
delete_option( \'myplugin_some_opt_3\' );
delete_option( \'myplugin_some_opt_4\' );
因为所有选项都以
myplugin_
, 我想实现一个通配符。Logicall,我假设它看起来像这样:
if ( !defined( \'WP_UNINSTALL_PLUGIN\' ) ) {
exit;
}
delete_option( \'myplugin_*\' );
最合适的回答,由SO网友:Ethan O\'Sullivan 整理而成
通过使用wp_load_alloptions()
函数获取所有可用选项,然后delete_option()
对于每个具有myplugin_
前缀:
foreach ( wp_load_alloptions() as $option => $value ) {
if ( strpos( $option, \'myplugin_\' ) === 0 ) {
delete_option( $option );
}
}