возможно заказать разработку или сопровождение, услуги вашего сайта/блога


обновлено: 2024-02-03 в теме: Контент, шапка site
Запросто с WordPress создание и продвижение сайтов ATs media

Как пишутся статьи – настроим число сохраняемых ревизий (редакции)

Сегодня наведём порядок в контент части сайта: подстроим тектовый редактор, а именно – ограничим число сохраняемых ревизий (редакций) при написании статей.

Размещение статьи на сайте дело необходимое и даже неизбежное, если вы однажды решили вести блог)

Но как писать статью так, чтобы не засорять лишним мусором Базу Данных?!

Итак, раскрутка сайта статьями – одна из важнейших задач администратора сайта/блога! А раз важнейшая, то и нужно соответствующе организовать рабочее место в редакторе вордпресс: что ж – научимся ограничивать число ревизий (черновиков статей) ибо лишний сор в БД ни к чему…

 


 

 

 

 

Вероятно, вы в курсе, что редакции (или ревизии) – это не что иное как наши наработки – черновики, которые время от времени сохраняются в Базе Данных! иногда это здорово выручает.

Выручать-то выручает, но – со временем сайт и его База Данных превращаются в помойку.

 

Откройте ваш текстовый редактор, зайдите во вкладку «редакции» любой опубликованной статьи и сами увидите бесконечность дат и «редакций».

 

 

 

Как писать статью — ревизии, редакции

 

 

 

Это перечисление (видите стрелку) может тянуться до бесконечности. Вам это нужно!?

 

…и это я ещё показал коротко, чтоб не пугать…

…Во-от!..

 

Итак:

нас сегодня интересует правильное и полезное размещение статей на сайте. Но следует помнить — работа с блогом многогранна: и наполняя одно, совсем не стоит забывать о другом…

 

 

 

 

статьи для сайта – отключение сохранения редакций  – черновиков

 

 

 

Статьи для сайта и отключение сохранения их редакций

 

 

 

Приступим:

…нынче поработаем на пользу!

 

Для того, чтобы редакции статей контролировать и удалять по мере необходимости, нынче рассмотрим несколько способов (или вариантов, кому как угодно)…

 

…назовём эти (коды) варианты регулировки числа редакций постов, к примеру – простенькие хаки.

 

Хак – представляет собой обычный фильтр-код. Это может быть какой-либо символ в нужном месте, лишняя строчка, скобка и т.п. в примере кода — минипрограммка, что ли, которая и служит остроумному программисту в решении многих задач. Программисту, но не хакеру ВИРУСОНОСЦУ ))

 

 

Для нашей «редакционной» работы нам потребуется файл wp-config.php. Он расположен в корне сайта, там, где находятся папки wp-admin, wp-content.

 

 

Открываем документ для редактирования, например, в НОТЕПАД++ , или прямо в файловом менеджере вашего хостинга. …ближе к финалу файла, ищем строку, как на примере внизу:

 

 

define(‘WP_DEBUG’, false);

/**Это всё, дальше не редактируем. Успехов! */

 

 

…и после “Успехов” ( с новой строки) прописываем эту:

 

 

define(‘WP_POST_REVISIONS’, 0);

 

 

…перед скобкой «ноль», хотя — можно обозначить и «false» –

мне удобнее прописывать цифру «0», ибо это значение удобнее выводить (щёлк клавой — и всё)) например, когда раскодирую всевозможные ссылки в темах WordPress. А вообще-то, вместо «0» можно прописывать «false», как хотите.

«define» — определение констант: «0» и «false» – ложь-фальшь; «1» или «true» соответственно «правда или истина».

Ну, ладно, спешить не будем! Подписывайтесь и не пропускайте темы следующих статей:

 

 

 

Вот ещё способ (станем весело называть «хак»… А вообще, правильнее нашу работу назвать работа с константами вордпресс, читайте подробнее)):

 

 

…итак: заходим в папку (всё там же, в корне сайта…) – wp-includes и открываем файл default-constants.php … В его недрах нам нужно найти такие строчки-функции: (если открыть документ в нотепад++ то они будут в районах между 230 и 370 строк).

 

 

if ( !defined(‘WP_POST_REVISIONS’) )
define(‘WP_POST_REVISIONS’, true);

 

 

– меняем «true» на « false » ИЛИ, как и говорилось выше «true» НА «0».

 

 

Поздравляю! ФУНКЦИЯ сохранения редакций отключена напрочь! Но !!!!

 

Для чего я показал этот способ!?

Для того, чтобы немного познакомить с ядром вордпресс – И предупредить о том, что редактировать ядро cms вордпресс не рекомендовано!

И я советую забыть о подобных правках и никогда не изменять файлы WP!

А чтобы функционал машинки работал по нашим правилам, – решения нужно искать на уровне плагинов или файла функций и т.п…

 

 

 

 

 

как при написании статьи ограничить число ревизий WordPress

 

 

 

 

А вот этим способом, можно и нужно пользоваться запросто:

 

 

Чтобы ограничить число сохраняемых редакций статей, нужно открыть документ (файл) легендарный wp-config.php и вновь отыскать строчки (примеры), которые мы с вами рассматривали в самом начале статьи…

 

Ориентир фраза:

 

 

/**Это всё, дальше не редактируем. Успехов! */

 

 

И где-то после неё (через строку) …прописывайте такой пример:

 

 

/** Автосохранение изменения статей. */
define('WP_POST_REVISIONS', 2);
define( 'AUTOSAVE_INTERVAL', 120);

 

 

 

2 – первой строки кода – число сохраняемых ревизий.

120 – второй строки – интервал времени сохранения «редакций» в секундах.

 

Все эти значения можно изменять на оптимальные именно для вас: всё зависят от нашей с вами забывчивости..!

 

 

Теперь поздравляю окончательно-с! ФУНКЦИЯ сохранения редакций (ревизий) отключена или ограничена вашим усмотрением.

 

 

 

НО ! – всё таки этой работы на сегодня маловато будет…

 

 

Дело в том, что все сохранённые КОПИИ статей (до наших сегодняшних изменений) останутся в базе данных.

Настройка констант (коррекция текстового редактора) станет работать по новым правилам только после сегодняшней правки – при написании новых статей для сайта.

 

И если у вас блог молодой и ревизионная масса писанины невелика, её можно оставить. Но если огромна – убираем!

 

 

 

 

как почистить базу данных и удалить все ненужные редакции статей

 

 

 

 

Для этого заходим в базу данных вашего сайта (на вашем хостинге). Наверняка это вам знакомо!

Значит, хостинг… панель управления сайтом… База Данных MySQL… ну и входим в саму базу блога… (фотки кликабельны)

 

 

 

Статьи для сайта и отключение сохранения их редакций

 

 

 

Нас интересует вкладка меню SQL . Кликаем! …и видим форму ввода запросов пользователя к базе данных))

 

 

 

Статьи для сайта и отключение сохранения их редакций

 

 

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

 

 

DELETE FROM wp_posts WHERE post_type = "revision";

 

 

Или такой… Пробуйте!

 

 

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'

 

 

Данные SQL запросы применимы для базы данных wordpress со стандартным префиксом wp_ в ее таблицах, если у таблиц в вашей базе данных префикс другой (что довольно редко встречается), то просто-напросто замените в запросе префикс wp_ на тот, который вы используете.

 

 

Жмём «ОК» и результат на лицо! База данных будет очищена.

 

Сравните вес таблицы wp-posts и БД с прежним ворохом))

 

 

 

Для тех, которые пугаются работать с БД – есть замечательный плагин – WP-Optimize, советую установить..

 

 

Установка как обычно, через репозиторий вордпресс…

 

 

 

Читайте, как защитить сайт и убираем ненужные ссылки в шапке сайта wp_head

 

Как отключить автообновление ядра WordPress кстати, в статье и ещё кое-что есть по константам…

 

 

 


подписка feedburner Online консультация по настройкам и созданию сайтов на WordPress

 


 


...вопросы в комментариях - помогу, в чём дюжу...
mihalica.ru !


Михаил ATs - владелец блога запросто с Вордпресс - в сети нтернет давным-давно...

...веб разработчик студии ATs media: помогу в создании, раскрутке, развитии и целенаправленном сопровождении твоего ресурса в сети... - заказы, вопросы... разработка...





Нажатия на кнопочки определяют Ваше высокое гражданское сознание

Поделитесь соображениями: Ваши мысли очень важны!

Внимание! Обязательные поля помечены *

  отныне доступен плагин: ats privacy policy ©


  1. Я тоже использую этот код, но он не дает сохраняться ревизиям только при ручном нажатии на кнопку “Обновить”, а если редактирование записи произведено, но “Обновить” временно не нажата, через некоторое время происходит автоматическое сохранение ревизии. Чтобы хоть как-то отсрочить это дело, я увеличил тайм аут автоматического сохранения ревизии. Есть ли другой способ? Как избавиться от автосохранения?

    Ответить - Дмитрий

    • Здравствуйте Дмитрий!

      if ( !defined(‘WP_POST_REVISIONS’) )
      define(‘WP_POST_REVISIONS’, true);

      Да, этой константой можно задавать время – тайм аут сохранения ревизий, а можно и полностью отключить автосохранение… (в статье описано) –
      Все остальное, а в том числе и плановые ревизии, нужно чистить в БД или, например, плагином WP-Optimize.
      Скоро (денька через…) напишу статью по этому поводу…
      А вообще, иногда ревизии здорово помогают…

      Ответить - Михаил

      • Добрый день Михаил.
        Я пробовал в точности, как и описано в статье, но код:
        if ( !defined(‘WP_POST_REVISIONS’) )
        define(‘WP_POST_REVISIONS’, true);

        Не делает того, о чем вы пишите:

        ФУНКЦИЯ сохранения редакций отключена напрочь!

        Как я и писал выше, при редактировании записи, всё-равно, через некоторый тайм аут, происходит автоматическое сохранение ревизии, о чем говорит строчка под окном редактирования. В базе данных, если вы предварительно почистите все ревизии, в таблице wp_posts появляется новая запись типа revision. В этом и состоит мой вопрос, ка избавиться именно от АВТО сохранения ревизий?

        Ответить - Дмитрий

        • Может, Вы что-то сделали не так (или описано не ясно)):
          Для того, чтобы функ. откл. напроч… сработала, нужно, к примеру, в ядре WP (что не рекомендовано) в wp-includes открыть файл default-constants.php и в стр. 324:

          if ( !defined(‘WP_POST_REVISIONS’) )
          define(‘WP_POST_REVISIONS’, true);

          заменить true на false

          Однако можно и в параметрах константы в wp-config.php:
          define('WP_POST_REVISIONS', 2);

          Заместо 2 true прописать false
          Попробуйте!

          Я сейчас проверил на тест-блоге – работает (если мы говорим об одном и том же).

          Ответить - Михаил

          • Михаил спасибо за подробное разъяснение, но я всё прекрасно понял ещё из статьи. Всё делаю именно так, как вы дважды описали. Для меня не составляет трудностей найти файл default-constants.php а в нем строки:
            if ( !defined(‘WP_POST_REVISIONS’) )
            define(‘WP_POST_REVISIONS’, true);

            в которых заменить true на false!
            Как я уже писал выше, код срабатывает, но только на РУЧНОЕ обновление записи, т.е. ревизии не появляются при нажатии кнопки «Обновить». Но если при редактировании записи сделаны изменения, а кнопка «Обновить» временно не нажата, например если вы думаете чтобы ещё такого написать, то происходит АВТОМАТИЧЕСКОЕ сохранение. Не знаю как ещё доступней объяснить. Ах да, может у нас с вами разные версии движка, я тестил на WordPress 4.7.2 Сделал скриншот, отправлю вам на почту. Вопрос остается открытым, как избавиться от АВТОМАТИЧЕСКОГО сохранения ревизий?

            Ответить - Дмитрий

            • Да я в принципе понял сначала что о черновиках речь – просто сомневался (редакции и их число – это несколько разные вещи: черновик переходит в крайнее число редакции).
              Скажите, а какую цель Вы преследуете этим желанием отключить “черновики”? в принципе, полезная и вполне безобидная функция…
              Мне интересно даже!
              Вы обращали внимание на даты?

              Ответить - Михаил

              • При редактировании записи в блоге, дата под окном редактирования не меняетсяся, пока не нажмешь кнопку «Обновить», а автосохранение в базу данных архивной ревизии происходит. Соответственно цель та же самая: сделать меньшее замусоривание базы данных автоматическими ревизиями, можете их называть «черновики», но в базе данных в таблице wp_posts создаются записи типа revision!!! Решение пока мной не найдено…


              • Я Вас понял…
                Что-нибудь придумаю (хотя подобных “зачисток” не делал… Однако примера для:
                статус auto-draft добавленный в WordPress 3.0 необходим для того, чтобы на момент открытия текстового редактора, при создания новой записи, она уже имела свой ID (иначе конфликты в логике wp) – это необходимо в том числе и для корректной привязки изображений и пр. (это тот же мусор!?)
                К примеру всякие транзиенты, от которых не избавиться за здорово живёшь – тоже мусор?
                Это я к тому, что идеала не бывает!

                Порядок в организме сайта, это не его полная кастрация, но поддержание чистоты: об этом я Вам говорил.

                Черновик (авто.ч – пока “я раздумаю что написать”) привязывается к крайней ревизии (например, как в статье настроено 2 – ревизии) и удаляется вместе с ней тем же плагином, или вручную…
                Именно поэтому делают, например, 2 ревизии…

                А “черновик” необходим и для корректной работы полезных кнопок редактора “вперёд” “назад” … Эту функцию, как я понимаю, Вам, тоже нужно убрать до кучи?

                Однако, вопрос есть вопрос (хотя его практическая сторона мне неясна)!
                А значит нужно решение!


              • Михаил, спасибо что на пальцах разжевали алгоритм работы WordPress, о том что ревизии могут быть нужны самому ядру движка я не думал. Значит единственно правильным решением будет именно то которое я использую, увеличение тайм аута сохранение ревизии например до 1 часа, за такое время уж точно можно успеть сделать все изменения в записи без автосохранений изменений! ))))


  2. Да, Дмитрий, можно и время увеличить…
    А можно и записи, при редакции, датировать каким-нить будущим на месяц вперёд, например, а потом выставить нужное.

    Ответить - Михаил