Массово изменить дату публикации записей в wordpress

Здравствуйте, сегодня рассмотрим как в админке (файл functions.php) wordpress массово произвести изменение даты публикации записей (the_date) или же даты последнего обновления записи (the_modified_date).

Скачать исходники для статьи можно ниже

До того как вы начнете менять что-либо на сайте, желательно сделать резервную копию Базы Данных и Файлов сайта (например с помощью плагина — BackUpWordPress — сайт плагина: «wordpress.org/plugins/backupwordpress/»).

Приступим.

Для примера возьмем стандартную wordpress тему — Twenty Seventeen!

Заходим в админку wordpress, в пункт «Внешний вид», подпункт «Редактор», справа в списке шаблонов ищем файл — functions.php:

массовое изменение даты постов в wordpress

В коде файла functions.php спускаемся в самый низ.

Давайте для примера зададим записи с ID=1 дату публикации «1997-12-31 23:59:59»

Как узнать ID записи?
Для этого достаточно в админке wordpress зайти в пункт «Записи», подпункт «Все записи», далее навести курсор мышки на название записи, у которой вы хотите узнать ID и в левом нижнем углу покажется url данной записи:

В данном примере url выглядит так:
«kokos3005.hostenko.com/wp-admin/post.php?post=17&action=edit»

здесь post=17 — означает, что ID=17

Теперь когда мы знаем — где взять ID записи, попробуем изменить им дату публикации.

Например, вот такой код, прописанный в файле functions.php:

// Создаем массив данных
  $my_post = array();
  $my_post['ID'] = 1;
  $edcal_date="1997-12-31 23:59:59";
  $my_post['post_date'] = $edcal_date;
  $my_post['post_date_gmt'] = get_gmt_from_date($edcal_date);
  
// Обновляем данные в БД
  wp_update_post( $my_post );

Установит для записи с ID=1 новую дату публикации — 1997-12-31 23:59:59

Отлично, теперь давайте изменим дату публикации сразу для нескольких записей, например, для всех записей с ID меньшим 15, код будет следующий:

while ($a < 15) :
    $a++;

// Создаем массив данных
  $my_post = array();
  $my_post['ID'] = $a;
  $edcal_date="1997-12-31 23:59:59";
  $my_post['post_date'] = $edcal_date;
  $my_post['post_date_gmt'] = get_gmt_from_date($edcal_date);

// Обновляем данные в БД
  wp_update_post( $my_post );
endwhile;

Как видите — здесь просто добавлен цикл while!
Теперь все записи, имеющий ID < 15 поменяют дату публикации на "1997-12-31 23:59:59". После того как изменили даты публикации записей — не забываем удалить код из файла functions, а то запись даты будет происходить постоянно как вы запускаете сайт — что вызовет дополнительную нагрузку на сайт.

Чтобы изменить дату последнего изменения (обновления) записи, можно воспользоваться следующим кодом:

while ($a < 15) :
    $a++;

// Создаем массив данных
  $my_post = array();
  $my_post['ID'] = $a;
  $edcal_date="1997-12-31 23:59:59";
  $my_post['post_modified'] = $edcal_date;
  $my_post['post_modified_gmt'] = get_gmt_from_date($edcal_date);

// Обновляем данные в БД
  wp_update_post( $my_post );
endwhile;

На этом все, красивых вам сайтов!

Введите свой email адрес для того, чтобы подписаться на мой блог:


knopkisoc

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *