Массово изменить дату публикации записей в 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

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