WordPress: как отложить отправку записей подписчикам по RSS
Привет! У вас были случаи, когда вы писали статью, публиковали ее, а затем исправляли в ней какие-то ошибки, или делали дополнения? В этом нет ничего плохого, просто ваш пост ушел подписчикам без внесенных вами изменений. У меня были такие случаи, поэтому я просто отложил отправку записей своим подписчикам на определенное время. И сейчас я напишу как это сделать.
Конечно же говорим о движке Wordpressи что бы отложить отправку публикаций по RSS, можно использовать плагин Deferred RSS у которого кстати кроме этой функции есть еще возможность защитить ваш контент от кражи по RSS. Кстати, о краже контента я недавно писал, почитайте «О воровстве контента в интернете«.Но ели нам нужно просто отложить отправку публикации, то зачем на загружать и без того не очень легкий Wordpress дополнительным плагином. Мы сделаем все это с помощью небольшого кода.
Откройте редактор своей темы в Wordpress, перейдите к редактированию файла «Функции темы», он же functions.php и вставьте в него вот такой код:
function publish_later_on_feed($where)
{
global $wpdb;if ( is_feed() )
{
$now = gmdate(‘Y-m-d H:i:s’);
$wait = ’30’; // задержка
$device = ‘MINUTE’; // единицы измерения MINUTE, HOUR, DAY, WEEK, MONTH, YEAR
$where .= » AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, ‘$now’) > $wait «;
}
return $where;
}
add_filter(‘posts_where’, ‘publish_later_on_feed’);
Перед редактированием этого файла, советую сделать его резервную копию, так на всякий случай. После внесения изменений нажмите «Обновить файл».
В коде можете изменить время задержки перед отправкой и единицы измерения. Я поставил 30 минут, думаю будет нормально. Вот так все просто, будут вопросы, задавайте из в комментариях. Удачи!