Відповіді:
Немає запиту, який би був на 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
файлу.
Хоча це все ще не ідеально, це набагато краще, ніж нічого. Сподіваюся, що це допомагає?
Опції плагіна Очистити мені добре. Опис автора плагіна, здається, відповідає тому, що вам потрібно: "Знаходить осиротілі варіанти та дозволяє їх видалити з таблиці wp_options."
Я ще не пробував WP-Optimize особисто, але це теж виглядає перспективно. І він говорить, що він підтримує WP 2.7 (тоді як Clean Options згадує лише певну підтримку WP 2.3), приємно!
Це не обов'язково зніме проблеми, wp_options
але я використовував WP-Optimize, щоб виправити багато проблем із розміщенням баз даних на моїх сайтах 3.0. Він очищає непотрібні зміни до публікацій, коментарі зі спамом та може автоматично виправити багато проблем. У моєму головному блозі БД було скорочено з 30 МБ до трохи менше 6 МБ і працює набагато більш плавно.