IT/Wordpress

워드프레스 자동저장(Autosave), 리비전(Revision) 조절하기

kang2oon 2012. 8. 23. 16:31
워드프레스(WordPress) 2.6부터 자동저장(autosave) 및 리비전(revision) 기능이 제공되고 있다.
유용한 기능임에도 불구하고 글을 수정할 때마다 늘어나는 리비전을 보고 있노라면 지우고 싶은 마음이 굴뚝같다.


워드프레스 자체적으로 자동저장과 리비전에 대한 설정을 할 수 있게 해주면 좋으련만, 세세한 제어는 고사하고 기능을 켜고 끌 수 있는 단순한 선택권 마저 주지 않는다.
발빠른 사람들의 도움으로 플러그인이 나와서 그 아쉬운 부분을 채울 수는 있지만, 늘어나는 플러그인 목록이 부담스러워 이것저것 다 설치하기도 선뜻 내키지는 않는 일이다. 


다행히 자동저장과 리비전 기능은 간단한 방법으로 제어할 수 있다.
손 볼 파일은 wp-config.php 이다. 그렇다, 처음 워드프레스를 설치할 때 기본 정보를 수정하던 바로 그 파일이 되겠다. 이 파일에 단 한줄의 코드만 추가하면 원하는 바를 얻을 수 있다.



파일을 열고 ‘<?php’ 와  ’?>’ 사이의 적당한 곳에 코드를 추가한다. 편의상 맨 마지막 부분인 ‘?>’ 앞에 넣는 것도 나쁘지 않다.

  • 포스트 리비전 기능 완전히 끄기
define('WP_POST_REVISIONS',false);


  • 포스트 리비전 갯수 제한하기

리비전 기능을 사용하되 저장할 갯수를 제한하고 싶다면 아래와 같은 코드를 삽입한다. 기능을 끌 때 사용했던 false라는 파라미터 대신에 원하는 숫자를 정해주면 되는데, 예를 들어 리비전을 5개까지만 보관하고 싶다면 아래와 같이 숫자 5를 넣어준다.
define('WP_POST_REVISIONS',5);


  •  자동저장 시간 조절하기

자동저장 시간을 적당히 늘이고 싶다면 원하는 시간을 초로 환산하여 아래와 같이 적어주면 된다. 아래의 코드는 600초 마다 자동저장이 되도록 한 것이다.
define('AUTOSAVE_INTERVAL',600);

위와 같은 코드는 앞으로 새롭게 작성되는 글, 혹은 수정하는 글에만 적용된다. 기존에 만들어진 수많은 리비전을 일괄 삭제하고 싶다면 조금 다른 작업이 필요하다. MySQL manager로 phpMyAdmin을 사용한다는 가정 하에 설명을 하면 다음과 같다.


  • 기존 리비전 일괄 삭제하기

우선 phpMyAdmin 패널에 로그인을 하고, SQL 탭을 클릭하여 SQL query 박스가 있는 페이지로 이동한다. 그리고 아래의 query를 입력하고 실행한다. 이때 워드프레스 DB 설치시의 prefix (기본은 wp_)가 다르다면 자신의 것으로 수정할 필요가 있다.
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'


DB 수정 전에 만일의 사태에 대비해 백업을 하는 것은 기본




반응형