Как отключить и удалить все редакции в WordPress
Редакции (или ревизии) в WordPress существуют уже давно. Они позволяют сохранять резервную копию записи или страницы при каждом изменении, а затем просматривать все версии с возможностью восстановить любую из них.
Несмотря на этот полезный функционал, каждая редакция это фактически копия самой записи, которая так же хранится в базе данных. На крупных сайтах с большим количеством контента, редакции могут существенно увеличить размер базы данных MySQL.
В этой краткой статье мы рассмотрим несколько методов для ограничения максимального количества редакций на каждую запись, а так же для удаления всех редакций из базы данных WordPress.
Ограничение количества редакций
По умолчанию WordPress хранит все редакции для записей и страниц. Это легко изменить с помощью фильтра wp_revisions_to_keep в вашем плагине, или с помощью константы WP_POST_REVISIONS в файле конфигурации wp-config.php . Например, если нам нужно сохранять только 5 последних версий записей и страниц, наш плагин будет выглядеть так:
/** * Plugin Name: My Revisions Config */ function my_revisions_to_keep( $revisions ) < return 5; >add_filter( 'wp_revisions_to_keep', 'my_revisions_to_keep' );
С помощью фильтра можно так же ограничивать редакции в зависимости от типа записи. Например, если нам необходимо 10 редакций для страниц и всего 5 редакций для записей (и других типов), то наш плагин будет выглядеть следующим образом:
function my_revisions_to_keep( $revisions, $post ) < if ( 'page' == $post->post_type ) return 10; else return 5; > add_filter( 'wp_revisions_to_keep', 'my_revisions_to_keep', 10, 2 );
Вы так же можете установить ограничение с помощью директивы WP_POST_REVISIONS в файле конфигурации WordPress wp-config.php , но разделение на типы записей с помощью этого метода уже сделать будет невозможно:
define( 'WP_POST_REVISIONS', 5 );
Как отключить редакции
С помощью этих же методов, вы можете и вовсе отказаться от редакций в WordPress. Для этого необходимо установить нулевое ограничение:
function my_revisions_to_keep( $revisions ) < return 0; >add_filter( 'wp_revisions_to_keep', 'my_revisions_to_keep' );
Или с помощью файла wp-config.php :
define( 'WP_POST_REVISIONS', 0 );
Обратите внимание, что подобное отключенные редакций не повлияет на уже существующие редакции. Все ревизии которые существовали до момента отключения останутся доступными, а новые редакции при сохранении создаваться не будут. Стоит так же отметить, что автосохранения в WordPress тоже являются редакциями и описанные выше методы их не отключают.
Как удалить все редакции
После того, как вы отключили редакции в WordPress, вы наверняка захотите удалить все созданные ранее редакции из базы данных WordPress. Сделать это легко с помощью пары запросов в MySQL через командную строку или интерфейс phpMyAdmin.
Перед тем, как удалить все редакции, необходимо удалить их мета-данные и таксономию, если они имеются. Сделать это можно с помощью запроса:
DELETE FROM wp_postmeta WHERE post_id IN (SELECT ID FROM wp_posts WHERE post_type = 'revision' AND post_name LIKE '%revision%');
Похожий запрос для удалении таксономии:
DELETE FROM wp_term_relationships WHERE object_id IN (SELECT ID FROM wp_posts WHERE post_type = 'revision' AND post_name LIKE '%revision%');
И наконец, удалить сами ревизии:
DELETE FROM wp_posts WHERE post_type = 'revision' AND post_name LIKE '%revision%';
Данный запрос удалит все редакции из базы данных WordPress, за исключением автосохранений. Перед исполнением любых подобных запросов, рекомендуем сделать резервную копию вашей базы данных MySQL.
Советуем так же рассмотреть плагин Revision Control, который позволяет просматривать и удалять редакции в WordPress, а так же предоставляет интерфейс для установления ограничения на количество редакций для записей и страниц.
Если у вас возникли проблемы или вопросы при управлении редакциями в WordPress — оставьте комментарий и мы с радостью вам ответим.
Константин Ковшенин 18.09.2013 19.09.2013
Сооснователь журнала WP Magazine и первой конференции WordCamp в России. Работал в Automattic, WordPress.com, WooCommerce. Принимает активное участие в развитии ядра WordPress. Любимый язык программирования: Python.
Подписаться на рассылку
Подписаться → Подпишитесь на бесплатную рассылку журнала WP Magazine и получайте новости, события, подборки тем и плагинов, уроки, советы и многое другое в мире WordPress!
Читайте также
Вебинары на WordPress.com

Как добавить заголовок Sender в wp_mail()

WordPress Meetup в Санкт-Петербурге пройдет 14 октября

Локальный сервер для WordPress за 5 минут с VVV, VirtualBox и Vagrant
Раз в неделю, только все самое новое про WordPress и никакого спама!
Поиск по сайту
Бесплатная книга
Как защитить свой сайт от хакеров? Читайте в нашей электронной книге.

Вакансии
- WordPress разработчик в компанию Grooni
- Web-разработчик со знанием WordPress в Pravmir.ru
- Ведущий WordPress-программист в компанию UpSolution
- WordPress-ниндзя в команду Pressjitsu
- WordPress разработчик в компанию Automattic
Ищете крутую тему для WordPress? Попробуйте Maker от ThemePatio:
Как удалить страницы вложений WordPress
Желаете избавится от дублей на своем ВордПресс-сайте, удалив страницы вложений или Attachment WordPress? Тогда читайте дальше!
Что такое страницы вложений?
Известно, что WP, по умолчанию, каждый добавленный медиафайл отображает как отдельную страницу. Чем это плохо для Вашего сайта? А тем, что поисковые системы расценивают такие страницы дублями родительской страницы, куда вложены эти медиафайлы. В итоге такая ситуация негативно сказывается на поисковой выдаче сайта в целом.
Как отключить WordPress вложения?
Наиболее простой и понятный для пользователя способ — воспользоваться мощным премиум-плагином Clearfy Pro , который быстро и корректно избавит Ваш сайт от ненужных дублей. Для этого нужно просто перейти в админ-раздел Clearfy Pro и на вкладке Дубли задействовать опцию Удалить страницы вложений.

Активировать промокод на 15%
Есть и другие, менее удобные, способы избавиться от дублирующих страниц вложений.
Способ 1. Плагин Yoast SEO
Плагин Yoast SEO также поможет Вам решить эту проблему”, перенаправляя с созданной “движком” страницы вложения на сам медиафайл. Для этого необходимо в админ-меню перейти SEO -> Отображение в поисковой выдаче и на вкладке Медиа передвинуть ползунок в состояние Да напротив опции Перенаправить URL вложений на файл вложения.

Способ 2. Плагин Attachment Pages Redirect
Отдельный плагин Attachment Pages Redirect также без проблем “спрячет” ненужные дубли, осуществляя редирект со страницы вложения на родительский пост (к которому прикреплен медиафайл) или на главную страницу сайта. Плагин не имеет страницы настроек, поэтому начинает выполнять свою работу сразу после установки и активации.

Способ 3. Файл functions.php
Откройте этот файл и в самый конец добавьте код:
function wpschool_redirect_attachment_page() < if ( is_attachment() ) < global $post; if ( $post && $post->post_parent ) < wp_redirect( esc_url( get_permalink( $post->post_parent ) ), 301 ); exit; > else < wp_redirect( esc_url( home_url( '/' ) ), 301 ); exit; >> > add_action( 'template_redirect', 'wpschool_redirect_attachment_page' );
В этом коде перенаправление будет работать для файлов любого типа, а не только картинок.
Теперь из страницы вложения система перенаправит пользователя на родительскую запись, в которой вложение было загружено. Если оно было загружено через медиабиблиотеку, редирект будет вести на главную страницу.
Нажмите, пожалуйста, на одну из кнопок, чтобы узнать понравилась статья или нет.
WordPress. Как удалить всё содержимое с вашего сайта


Добрый день! Из этого туториала Вы узнаете, как удалить всё содержимое с вашего сайта WordPress.
- Перейдите на вкладку Плагины -> Добавить новый (Plugins -> Add New)и найдите плагин Очистка базы данных ( Database Reset):

- В открывшемся окне активируйте этот плагин:

- Если Вы наведёте курсором мыши на раздел Инструменты (Tools), Вы увидите пункт Очистка базы данных ( Database reset). Нажмите на этот элемент, для того чтобы увидеть рабочее окно плагина. Выберите все таблицы, введите Код безопасности в соответствующее поле и нажмите на кнопку Очистить таблицы (Reset Tables):

- Проверьте ваш сайт, для того чтобы убедить, что Вы увидите лишь чистый движок WordPress:

Теперь Вы знаете как удалить всё содержимое с вашего сайта.
Вы можете также ознакомиться с детальным видео-туториалом ниже:

Эта запись была размещена в WordPress туториалы и помечена как content, erase, WordPress. Добавьте в закладки постоянную ссылку.
