Здравствуйте, сегодня рассмотрим как в админке (файл functions.php) wordpress массово произвести изменение даты публикации записей (the_date) или же даты последнего обновления записи (the_modified_date).
Скачать исходники для статьи можно ниже
До того как вы начнете менять что-либо на сайте, желательно сделать резервную копию Базы Данных и Файлов сайта (например с помощью плагина — BackUpWordPress — сайт плагина: «wordpress.org/plugins/backupwordpress/»).
Приступим.
Для примера возьмем стандартную wordpress тему – Twenty Seventeen!
Заходим в админку wordpress, в пункт “Внешний вид”, подпункт “Редактор”, справа в списке шаблонов ищем файл – functions.php:
В коде файла 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;
На этом все, красивых вам сайтов!