Верх страницы
Обложка к записи Задержка публикации в RSS-ленте WordPress
Время для прочтения: 0 мин. 0 сек.

Задержка публикации в RSS-ленте WordPress

Чтобы избежать неприятностей при публикации постов в WordPress, связанных с ошибками в статье, достаточно отложить генерацию RSS-ленты на некоторое время, за которое вы сможете внести нужные исправления.

Добавим через фильтр post_where необходимую задержку, чтобы сделать отложенную публикацию поста в RSS:


/**
 * Отложенная публикация постов в RSS-ленте WordPress
 *
 * @param $where - оригинальный запрос
 *
 * @return string
 */
function roomble_feed_delay( $where ) {
	global $wpdb;

	if ( is_feed() ) {

		// текущее время
		$now = gmdate('Y-m-d H:i:s');

		// сколько ждать
		$wait = 10; // число

		// единица измерения задержки
		// MINUTE, HOUR, DAY, WEEK, MONTH, YEAR
		$device = MINUTE;

		// добавить условие в запрос
		$where .= " AND TIMESTAMPDIFF( {$device}, {$wpdb->posts}.post_date_gmt, '{$now}') > {$wait} ";
	}
	return $where;
}
add_filter( 'posts_where', 'roomble_feed_delay' );

Автор: Кобзарёв Михаил

Русский разработчик с 20-ти летним стажем. Работаю с PHP, ООП, JavaScript, Git, WordPress, Битрикс, Joomla, Drupal, Opencart, DLE, Laravel, Moonshine, SuiteCRM.

Оптимизирую сайты под Google Page Speed, настраиваю импорты для больших магазинов на WooCommerce + WP All Import. Пишу плагины на заказ. Все мои услуги.

Веду блог о разработке, дайджест в телеграмме и в ВК.

Вы всегда можете нанять меня.

Комментарии
Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Предыдущая запись

Давайте дружить
в Телеграме

Авторский блог вашего покорного слуги в Telegram про web, программирование, алгоритмы, инструменты разработчика, WordPress, Joomla, Opencart, Laravel, Moonshine, фильмы и сериалы