Задержка публикации в 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' );