Как быстро обновить даты всех постов на Вордпресс

Чтобы на CMS WordPress массово обновить данные постов, в том числе и дату их публикации, можно не пользоваться стандартным интерфейсом админки, ибо это будет очень медленно, а воспользоваться апдейтом прямо в базе данных сайта.

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

Утилита PhpMyAdmin на хостинге

Внимание: работа будет происходит с базой данных, рекомендую сохранить резервную копию (дамп) БД перед началом.

Сперва необходимо зайти в PhpMyAdmin (зависит от конкретного хостинга), иногда может происходить вход только через панель, иногда ссылка имеет такой вид: mysite.ru/phpmyadmin, где mysite.ru — собственно, Ваш сайт! Виртуальные серверы тоже имеют эту утилиту уже в комплекте.

Если требуется логин и пароль на вход, а Вы их не знаете, то можете найти их в файле wp-config.php корневого каталога нужного интернет-ресуса. Примерно это будет выглядеть вот так (кавычки при копировании логина и пароля от базы данных для вордпресс не копируем):

Как быстро обновить даты всех постов на Вордпресс

Если всё ещё затрудняетесь со входом, спросите в поддержке Вашего хостинга.

Например, у облачного хостинга Джино Спектр вход осуществляется через раздел «Удалённый доступ»:

Как быстро обновить даты всех постов на Вордпресс

В обычном же хостинге у Джино он так и называется «Управление MySQL»:

Как быстро обновить даты всех постов на Вордпресс

На Бегет вход в каждую phpmyadmin каждого конкретного ресурса находится в разделе «Базы данных», соответствующая иконка есть напротив названий:

Как быстро обновить даты всех постов на Вордпресс

Если не известно название конкретной базы для нужного вордпресса, идём всё в тот же файл wp-config.php в корне сайта и смотрим на строчку с постоянной DB_NAME (возможно, это строчка за номером 24).

После входа в PhpMyAdmin сразу смотрим, что у нас в меню слева. Если это куча строчек (названий таблиц) с префиксом (чаще wp_), значит всё отлично, мы находимся уже там, где нам и предстоит работать, если же там разные названия баз данных, то нужно выбрать требуемую для конкретного WordPress:

Как быстро обновить даты всех постов на Вордпресс

Входим во вкладку SQL:

Как быстро обновить даты всех постов на Вордпресс

SQL запрос

Весь запрос состоит из одной строчки:

UPDATE wp_posts SET `post_date` = '2020-06-10 21:40:21', `post_date_gmt` = '2020-06-10 18:40:21', `post_modified` = '2020-06-10 21:40:21', `post_modified_gmt` = '2020-06-10 18:40:21'

Сразу после его ввода и нажатия на кнопку «Вперёд» или «ОК», все посты на Вашем сайте будут с датой и временем создания и последних изменений, указанными выше. Вид даты и времени: «ГОД-месяц-дата ЧАС:мин:сек».

Но обратите внимание: сам Вордпресс хранит даты и время сразу в четырёх полях, все из которых были затронуты строкой выше. Ниже разберём каждый из них:

  1. post_date — Дата поста по времени внутри сайта (обычно соответствует времени у Вас, либо часовому поясу физического местонахождения сервера у хостера);
  2. post_date_gmt — то же по времени GMT;
  3. post_modified — последняя его модификация (введённые изменения) по времени сервера;
  4. post_modified_gmt — последние изменения по GMT.

Если не знаете время на конкретном сайте, просто посмотрите в «Настройки — Общие» панели управления Вордпрессом:

Как быстро обновить даты всех постов на Вордпресс

Вернёмся к SQL запросу. Мы можем разделить его на разные, если требуется изменить только что-то одно.

Изменить только время публикации статей. Например, все публикации у нас были сделаны ровно в полночь по GMT в Новый год на 2020:

UPDATE wp_posts SET `post_date` = '2020-01-01 03:00:00', `post_date_gmt` = '2020-01-01 00:00:00'

А обновление всех записей произошло первого июня в час ночи:

UPDATE wp_posts SET `post_date` = '2020-06-01 04:00:00', `post_date_gmt` = '2020-06-01 01:00:00'

Рекомендации по использованию

Важно понимать, что время по сайту и по GMT должны отличаться, если на сайте не выставлено изначально время UTC+0 в общих настройках, что редко встречается у сайтов на русском языке.

И не стоит отдельно выставлять время поста (post_date), не затрагивая поле post_date_gmt и наоборот. Думаю, понятно почему, разница времени сайта (часового пояса) с точкой времени UTC (London) — есть величина постоянная. Не может быть такого, чтобы время публикации одного и того же поста, скажем, по Москве было 10 часов утра, а по Лондону — в 21 час в тот же день :).

Таким же образом можно быстро сменить автора поста и любые другие данные. Автор поста указывается по id. Если не знаете id нужного автора, можно тут же в PHPmyAdmin узнать его в табличке wp_users. Он будет напротив логина нужного пользователя:

Как быстро обновить даты всех постов на Вордпресс

Ещё из полезного:

  • Можно резко убрать все посты из поля видимости обычными пользователями, сменив дату на ещё не наступившую или же сменив значение 'post_status' с publish на draft (черновик).
  • Резко меняем типы записей вордпресс через «post_status».
  • Также, массово открываем и закрываем комментарии. Удобно, например, если нужно закрыть комментирование всех ранних записей и оставить последующие открытыми. Стандартными функциями настроек вордпресса вроде «Закрывать комментирование через...» такого достичь не получится, ведь закрытие по истечении заданного срока будет распространяться и на вновь добавляемые страницы.
  • Используем операторы WHERE и т.д. для выборки. Но это уже только для тех, кто разбирается в языке SQL.


Подпишись на рассылку и получай свежие кейсы первым:

✔ Нажимая кнопку ниже я даю согласие на обработку персональных данных.

Понравилась статья? Поделиться с друзьями:
Заработок в интернете - блог
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:
Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.