Ars Longa, Vita Brevis

Чистим базу данных WordPress 2.6 от старых версий статей

Одна из особенностей 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
  • БобрДобр
  • Мистер Вонг
  • Яндекс.Закладки
  • Текст 2.0
  • News2
  • AddScoop
  • RuSpace
  • RUmarkz
  • Memori
  • Закладки Google
  • Писали
  • СМИ 2
  • Моё Место
  • Сто Закладок
  • Ваау!
  • Technorati
  • RuCity
  • LinkStore
  • NewsLand
  • Lopas
  • Закладки - I.UA
  • Connotea
  • Bibsonomy
  • Trucking Bookmarks
  • Communizm
  • UCA

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

  1. [Август 12, 2008 1:01 дп] Search Everything 4.7.1 и WordPress 2.6: отключаем поиск по старым версиям статей | Ars Longa, Vita Brevis:

    [...] Ars Longa, Vita Brevis « Удаление старых версий статей из базы данных WordPress [...]

    #1
  2. [Август 12, 2008 1:41 пп] Dimox:

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

    #2
  3. [Август 12, 2008 3:52 пп] Vladimir:

    Да, действительно… Спасибо, я не знал… Просто она не прописана в дефолтном 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
  4. [Август 12, 2008 4:48 пп] Dimox:

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

    #4

RSS лента комментариев к этой записи. TrackBack URL

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

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

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

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