Одна из особенностей WordPress 2.6 — он хранит старые версии статей в своей базе данных. Это полезно, например, при анализе изменений, внесённых автором в статью.

Честно говоря, мне это никогда нужно не было — лично я считаю, что встраивать в WordPress систему контроля версий — это перебор. Впрочем, это лишь моё мнение. Возвращаемся к теме. К сожалению, WordPress не предоставляет возможности отключения данной функциональности, но в силу тех или иных обстоятельств бывает нужно удалить старые версии статей (например, для уменьшения объёма базы данных).

Написать плагин, удаляющий старые версии статей, у меня пока еще не дошли руки — всё-таки я на отдыхе :-) Но запрос, который чистит базу данных, я всё же составил:

[-]
View Code MySQL
DELETE `p`, `pm`, `c`, `tr`
    FROM `wp_posts` AS `p`
        LEFT JOIN `wp_postmeta` AS `pm`
            ON `p`.`ID` = `pm`.`post_id`
        LEFT JOIN `wp_comments` AS `c`
            ON `p`.`ID` = `c`.`comment_post_ID`
        LEFT JOIN `wp_term_relationships` AS `tr`
            ON `p`.`ID` = `tr`.`object_id`
    WHERE
        `p`.`post_type` = 'revision';

OPTIMIZE TABLE
    `wp_posts`,
    `wp_postmeta`,
    `wp_comments`,
    `wp_term_relationships`;

Внимание: во всех вышеприведённых запросах предполагается, что используется стандартный префикс таблиц — wp_.

Добавить в закладки
  • del.ici.ous
  • Digg
  • Furl
  • Google
  • Simpy
  • Spurl
  • Y! MyWeb
  • БобрДобр
  • Мистер Вонг
  • Yandex.Закладки
  • Текст 2.0
  • News2
  • AddScoop
  • RuSpace
  • RUmarkz
  • Memori
  • Google Bookmarks
  • Писали
  • СМИ 2
  • Моё Место
  • 100 Закладок
  • Ваау!
  • Technorati
  • RuCity
  • LinkStore
  • NewsLand
  • Lopas
  • Закладки - IN.UA
  • Connotea
  • Bibsonomy
  • Trucking Bookmarks
  • Communizm
  • UCA
  • Slashdot
  • Magnolia
  • Blogmarks
  • Current
  • Meneame
  • Oknotizie
  • Diigo
  • Funp
  • Hugg
  • Dealspl.us
  • N4G
  • Mister Wong
  • Faves
  • Yigg
  • Fresqui
  • Care2
  • Kirtsy
  • Sphinn

Связанные записи

12
Авг
2008

Комментарии к статье «Удаление старых версий статей из базы данных WordPress» (4)  »

  1. Dimox says:

    Есть какая-то настройка для файла wp-config.php, при которой ревизии будут отключены.

  2. Vladimir says:

    Да, действительно… Спасибо, я не знал… Просто она не прописана в дефолтном wp-config.php.

    [-]
    View Code PHP
    $default_constants = array( 'WP_POST_REVISIONS' => true );
    foreach ( $default_constants as $c => $v )
            @define( $c, $v ); // will fail if the constant is already defined
    unset($default_constants, $c, $v);

    Немного криво они это сделали — вместо того, чтобы проверять, определена ли константа, они насильно её определяют, полагаясь на то, что PHP не даёт переопределять уже определённые константы.

  3. Dimox says:

    Я бы тоже не знал об этом, хорошо, что написали на одном из блогов о WordPress. Возможность, получается, недокументированная.

Подписаться на RSS-ленту комментариев к статье «Удаление старых версий статей из базы данных WordPress» Trackback URL: http://blog.sjinks.org.ua/wordpress/304-removing-old-revisions-from-wordpress-database/trackback/

Оставить комментарий к записи «Удаление старых версий статей из базы данных WordPress»

Вы можете использовать данные тэги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Оставляя комментарий, Вы выражаете своё согласие с Правилами комментирования.

Подписаться, не комментируя