没有一个查询会100%确定删除所有未使用的内容,也不会删除这些内容,因为任何主题或插件都可以向wp_options
桌子尽管如此,只要稍加努力,您就可以很好地了解哪些内容未被使用,然后手动决定哪些内容需要删除,哪些内容不需要
您可以将以下代码暂时放入主题的
functions.php
文件,然后访问面向公众的站点上的每个(类型)页面,更重要的是访问管理控制台中的所有管理页面。一旦你这样做了,你就可以打开你的
wp_options
坐在桌子上,看看场地
use_count
(由下面的代码添加)查看哪些选项具有
use_count
等于零(使用计数基本上没有意义,除非自添加此代码以来,至少读取或更新了一次大于1的内容。)
global $wpdb;
header(\'Content-Type:text/plain\');
$results = $wpdb->get_results("SHOW COLUMNS FROM wp_options WHERE Field=\'use_count\'");
if (count($results)==0) {
$wpdb->query("ALTER TABLE {$wpdb->options} ADD COLUMN use_count int UNSIGNED NOT NULL DEFAULT \'0\' AFTER autoload");
}
add_action(\'all\',\'monitor_get_option_usage\');
function monitor_get_option_usage($filter){
if (preg_match(\'#^option_(.*)$#\',$filter)) {
increment_option_use_count(substr($filter,7));
}
}
add_action(\'updated_option\',\'monitor_update_option_usage\');
function monitor_update_option_usage($option){
increment_option_use_count($option);
}
function increment_option_use_count($option) {
global $wpdb;
$wpdb->query("UPDATE {$wpdb->options} SET use_count = use_count + 1 WHERE option_name = \'$option\'");
}
有了它,你可能就能识别出那些与早已过时的插件、以前的主题相关的选项,甚至是你自己早期添加但不再使用的选项。将它们全部导出到备份(以防万一),然后删除您可以轻松删除的内容。完成后,可以移除
use_count
字段(如果你想的话,它出现在那里不会有什么坏处),并将上面的代码从数据库中删除
functions.php
文件也是
虽然这还不完美,但总比什么都没有好得多。希望有帮助