

Новости










Статьи
Как обновить дату постов WordPress одним кликом
Опубликовано: 12.04.2018

Уроки WordPress - Быстрое редактирование записей (WordPress для чайников)
Чтобы обновить дату всех постов создайте файл php с любым именем и загрузите в корень сайта. Запустите его вписав имя в адресную строку браузера.
Как это работает?
Скрипт считывает текущую дату. Отнимает от текущей даты указанное количество дней.
Как сделать красивый блок цитат в статьях на WordPress
<?php require_once ( dirname ( __FILE__ ) . '/wp-load.php' ) ; set_time_limit ( 300 ) ; $wpdb -> show_errors ( ) ; // диапазон раскидывания постов: // от (текущая_дата - $days_minus дней) // до (текущая дата + $days_plus дней) $days_minus = 50 ; // дальше магия $sql = 'SELECT `ID` FROM `' . $wpdb -> prefix . 'posts` WHERE `post_type`="post" AND (`post_status`="future" OR `post_status`="publish") ' ; if ( $posts = $wpdb -> get_results ( $sql ) ) { // Меняем дату у постов foreach ( $posts as $post ) { $sql = 'UPDATE `' . $wpdb -> prefix . 'posts` SET `post_date`= DATE_ADD( FROM_DAYS( FLOOR( TO_DAYS(NOW()) - (RAND()*' . $days_minus . ') ) ), INTERVAL (FLOOR(RAND()*86400)) SECOND ), `post_date_gmt`=`post_date`, `post_modified`=`post_date`, `post_modified_gmt`=`post_date` WHERE `id`=%d LIMIT 1 ' ; $psql = $wpdb -> prepare ( $sql , $post -> ID ) ; $wpdb -> query ( $psql ) ; } // Обновляем статусы постов $sql = 'UPDATE `' . $wpdb -> prefix . 'posts` SET `post_status`="future" WHERE `post_date`>NOW() AND `post_type`="post" AND (`post_status`="future" OR `post_status`="publish") ' ; $wpdb -> query ( $sql ) ; $sql = 'UPDATE `' . $wpdb -> prefix . 'posts` SET `post_status`="publish" WHERE `post_date`<=NOW() AND `post_type`="post" AND (`post_status`="future" OR `post_status`="publish") ' ; $wpdb -> query ( $sql ) ; } die ( 'Complete' ) ; ?>
Затем, чтобы обновить даты комментариев к постам, создайте по аналогии еще один файл php и запустите его из браузера.
Даты комментариев считаются от даты каждого поста.
<?php require_once ( dirname ( __FILE__ ) . '/wp-load.php' ) ; set_time_limit ( 300 ) ; $wpdb -> show_errors ( ) ; // дальше магия $sql = 'UPDATE `' . $wpdb -> prefix . 'comments` SET `comment_date` = DATE_ADD( FROM_DAYS( FLOOR( TO_DAYS( (SELECT `post_date` FROM `wp_posts` WHERE `ID`=`wp_comments`.`comment_post_ID`)) + (RAND()*15) )), INTERVAL (FLOOR(RAND()*86400)) SECOND ), `comment_date_gmt` = `comment_date` ' ; $wpdb -> query ( $sql ) ; die ( 'Complete' ) ; ?>15 – это количество дней, которые прибавляется с даты публикации поста.
Устал платить помегабайтно? Подключай безлимитный интернет для планшета на свое устройство.
Опубликовано: 5 июня 2017 в 11:26 Кнер.ру