답변:
테마 나 플러그인이 wp_options
테이블 에 옵션을 추가 할 수 있으므로 사용하지 않는 모든 항목을 삭제하고 삭제하지 않는 쿼리는 100 % 확실하지 않습니다 . 그래도 약간의 노력으로 사용하지 않는 항목에 대한 좋은 아이디어를 얻은 다음 삭제할 항목과 삭제할 항목을 수동으로 결정할 수 있습니다.
다음 코드를 테마 functions.php
파일에 임시로 넣은 다음 공개 사이트의 모든 페이지 유형과 관리 콘솔의 모든 관리 페이지를 방문하십시오. 일단 당신이 당신의 wp_options
테이블을 열고 필드 use_count
(아래 코드로 추가)를보고 어떤 옵션이 use_count
0과 같은지 볼 수 있습니다 (사용 횟수는 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 사이트의 많은 데이터베이스 크기 문제를 해결했습니다. 불필요한 게시물 수정, 스팸 주석을 지우고 많은 문제를 자동으로 해결할 수 있습니다. 내 기본 블로그에서 DB는 30MB에서 6MB 미만으로 축소되어 훨씬 원활하게 실행됩니다.