답변:
이 사용하기에 훨씬 더 안전 질문과는 달리, postmeta 및 term_relationship에서 관련 항목을 제거합니다 deathlocks의 그의 대답에 쿼리.
{id}를 각 블로그 게시물 테이블의 ID로 변경하십시오. 이 쿼리를 결합하여 모든 포스트 테이블을 한 번에 실행할 수 있지만 먼저 한 테이블에서 시도하십시오. 단일 WP 설치에서 여러 번 사용했습니다.
DELETE a,b,c
FROM wp_{id}_posts a
LEFT JOIN wp_{id}_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_{id}_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision'
실행 한 후 phpmyadmin에서 데이터베이스를 최적화하십시오.
그리고 wp-config.php 상단에 다음 줄을 추가하여 향후 개정을 방지하십시오.
define('WP_POST_REVISIONS', 0);
또는 하나의 수정본을 저장하십시오.
define('WP_POST_REVISIONS', 1);
플러그인도 있습니다 WP 최적화 이 작업을 수행 할 수 있습니다
웹 사이트에서 :
WP-Optimize는 WordPress 2.9 ++ 데이터베이스 정리 및 최적화 도구입니다. 데이터베이스 테이블을 최적화하기 위해 PhpMyAdmin이 필요하지 않습니다.
몇 번의 클릭만으로 개정 후, 스팸 대기열의 주석, 승인되지 않은 주석을 제거 할 수 있습니다.
이 코드를 테마 functions.php
파일에 추가 할 수도 있습니다 .
if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', 3);
if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', false);
이 코드는에 WP_POST_REVISIONS
제한이 설정되어 있는지 확인 하고 wp-config.php
, 설정 하지 않은 경우 수정 후 사후 수정을 제한하는 매개 변수를 함수에 전달합니다. 위의 예에서 게시물은 3 개의 개정으로 제한됩니다.
이것은 코드를 추가하는 방법을 모르거나 원하지 않는 사람들을 위해 테마를 작성할 때 좋은 솔루션입니다.
답변 주셔서 감사합니다, markratledge. {id}와 관련된 구문에 문제가 없었습니다. {id}를 게시물 ID 중 하나 인 4009로 변경했지만 성공하지 못했습니다. https://dev-notes.eu/2017/11/manage-and-safely-delete-revisions-in-wordpress/ 에서 해결책을 찾았습니다.
DELETE a,b,c FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision';
잘 작동했습니다.