WP 자동저장/리비전 기능 조절하기

27 May 2009 2 Comments Category: 과학기술 → tech


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

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

다행히 자동저장과 리비전 기능은 간단한 방법으로 제어할 수 있다. 손 볼 파일은 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 수정 전에 만일의 사태에 대비해 백업을 하는 것은 기본.

Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • email
  • RSS
  • StumbleUpon
  • Tumblr
  • Twitter
  • Live
  • MySpace
  • Technorati


Possibly Related Posts:



2 Responses

Write a comment
  1. 가히 알짜팁이네요
    고맙습니다-

    astraea 27 May 2009 at 1:44 pm Permalink
    • 간단한건데 찾는게 일이더라구요. 그러고보면 몰라서 못쓰는 기능도 많을 듯.. ^^;;

      LUV™ 28 May 2009 at 10:32 pm Permalink

Write a Comment

Commenter Gravatar