如何延遲帖子在WordPress RSS Feed中的顯示


最近,我們的一位讀者問是否有可能延遲帖子在WordPress RSS feed中的顯示? 延遲RSS feed中的帖子可以使您免於意外發布並避免在SEO中刮擦內容。 在本文中,我們將向您展示如何延遲帖子在WordPress RSS feed中的顯示。

如何延遲帖子在WordPress RSS Feed中的顯示

為什麼要延遲WordPress中的Feed?

有時,您可能會在文章中出現語法或拼寫錯誤。 該錯誤繼續存在,並已分發給您的RSS feed訂閱者。 如果您在WordPress博客上有電子郵件訂閱,那麼這些訂閱者也將獲得它。

拼寫錯誤實時反映在您的RSS feed訂閱者身上

通過在RSS feed和實時站點之間添加延遲,您將獲得一個小的時間窗口來捕獲實時站點中的錯誤並進行修復。

內容抓取網站也使用RSS feed。 他們使用它來監視您的內容,並在它們出現在實時狀態時立即復制您的帖子。

如果您擁有一個權限不大的新網站,那麼這些內容抓取工具在很多情況下最終可能會在搜索結果中擊敗您。

內容搜尋器使用RSS提要自動發布您的帖子

通過延遲摘要中的文章,您可以給搜索引擎足夠的時間來首先對內容進行爬網和索引。

話雖如此,讓我們看看如何輕鬆地延遲帖子在WordPress RSS feed中的顯示。

延遲WordPress RSS Feed中的帖子

此方法需要您向WordPress添加少量代碼。 如果這是您第一次手動添加代碼,請查看有關將網頁摘要粘貼到WordPress的初學者指南。

您需要將以下代碼添加到主題的functions.php文件中或特定於站點的插件中。

function publish_later_on_feed($where) {

	global $wpdb;

	if ( is_feed() ) {
		// timestamp in WP-format
		$now = gmdate('Y-m-d H:i:s');

		// value for wait; + device
		$wait="10"; // integer

		// http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
		$device="MINUTE"; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR

		// add SQL-sytax to default $where
		$where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
	}
	return $where;
}

add_filter('posts_where', 'publish_later_on_feed');

此代碼檢查是否請求了WordPress feed。 之後,它將設置當前時間和要添加的時間,以作為發布原始日期和當前時間之間的延遲。

之後,它將時間戳差異作為WHERE子句添加到原始查詢。 現在,原始查詢將僅返回時間戳差異大於等待時間的帖子。

在此代碼中,我們將10分鐘用作$ wait或延遲時間。 隨意將其更改為所需的任何分鐘數。 例如對於60 1小時或120 2小時。

我們希望本文能幫助您學習如何輕鬆地延遲帖子在WordPress RSS feed中的顯示。 您可能還希望查看我們的指南,該指南僅介紹如何在WordPress中向RSS訂閱者顯示內容。

如果您喜歡這篇文章,請訂閱我們的YouTube頻道WordPress視頻教程。 您也可以在找到我們 推特 和Facebook。