如何在 WordPress 中禁用 wp-cron 並設置正確的 Cron 作業

已發表: 2022-06-28

您是否遇到無法在 WordPress 中運行的計劃操作的問題?

WordPress 有一個名為 wp-cron 的計劃系統,但它有時會錯過計劃任務,例如發布計劃的帖子、發送觸發的電子郵件等。由服務器操作系統運行的正確 cron 作業通常更可靠。

在本文中,我們將向您展示如何在 WordPress 中禁用 wp-cron,並介紹兩種設置正確 cron 作業的方法。

How to Disable wp-cron in WordPress and Set Up Proper Cron Jobs

為什麼禁用 wp-cron?

您的 WordPress 網站有一個名為 wp-cron 的內置調度系統。 它執行時間敏感的任務,例如檢查更新、發布預定的帖子、自動創建定期備份、發送觸發的電子郵件等。

您可以在我們的指南中了解有關如何查看和控制 WordPress cron 作業的更多信息。

Viewing Scheduled Tasks in WordPress

問題是只有在有人訪問您的網站時才會提示 WordPress 檢查預定的作業。 這對於大多數網站來說都足夠好,但有時它可能會給較小的網站帶來問題。

例如,如果您的網站流量較低,那麼您預定的帖子可能不會按時發布。 如果你的網站流量很大,那麼 wp-cron 會被頻繁檢查,這可能會影響你網站的性能。

現在,如果您只想修復丟失的預定帖子錯誤,那麼您可以使用免費插件 Missed Scheduled Publisher,但如果您想解決所有預定操作問題,那麼您需要一個真正的 cron 作業。

真正的 cron 作業由您的網絡託管服務器的操作系統運行,而不是由 WordPress。 您可以將其設置為檢查計劃任務更多可靠。 默認情況下,WordPress 無權在服務器級別進行設置,但您可以按照我們的教程輕鬆完成。

話雖如此,讓我們看看如何禁用 wp-cron 並設置正確的 cron 作業。 以下是我們將在本教程中介紹的內容:

  • 在 WordPress 中禁用 wp-cron
  • 在您的 WordPress 主機上設置正確的 Cron 作業
  • 使用第三方服務設置正確的 Cron 作業

在 WordPress 中禁用 wp-cron

要禁用 wp-cron,您需要編輯 wp-config.php,這是一個核心 WordPress 配置文件。 它位於您的 WordPress 站點的根文件夾中,您需要使用 FTP 客戶端或網絡託管控制面板中的文件管理器。

該文件包含大量敏感信息,做出錯誤的更改可能會破壞您的 WordPress 網站。 我們建議先備份文件,以防萬一。 您可以按照我們的指南了解如何在 WordPress 中編輯 wp-config.php。

您需要將以下代碼粘貼到 wp-config.php 文件中,就在“就是這樣,停止編輯! 快樂的博客。

define('DISABLE_WP_CRON', true);
Pasting Code into wp-config

之後,您需要保存文件並將其上傳回您的網站。

當有人訪問您的網站時,WordPress 將不再觸發 wp-cron。

在您的 WordPress 主機上設置正確的 Cron 作業

現在您需要設置一個適當的 cron 作業來運行您的計劃任務。 您執行此操作的方式將根據您的 WordPress 託管服務提供商提供的工具而有所不同。

設置 cron 作業的最簡單方法是使用 cPanel,這是一個流行的網站控制面板,包含在許多網絡託管計劃中,包括 Bluehost。 我們將在本教程中使用 Bluehost cPanel。

注意:有些網絡主機不使用 cPanel,有些甚至可能不允許您創建 cron 作業。 如有疑問,您應該聯繫您的託管服務提供商或查閱他們的支持文檔。 您始終可以使用第三方 cron 服務(如下)。

登錄主機帳戶並導航到 cPanel 後,您應該向下滾動直到找到“Cron Jobs”,然後單擊它。

您可以在“高級”部分找到它,但這可能因您的託管服務提供商而異。

Find 'Cron Jobs' in cPanel

這將帶您進入一個新頁面,您可以在其中創建新的 cron 作業。

不要擔心您會看到關於需要很好地了解 Linux 命令的警告。 只需要一個命令,我們將在下面向您展示它的確切含義。

The cPanel Cron Jobs Page

如果需要,您可以更改將發送 cron 作業通知的電子郵件地址。 默認地址是您在註冊虛擬主機時使用的地址,這在大多數網站上都可以正常工作。

現在,讓我們向下滾動到“添加新的 Cron 作業”部分並設置一個 cron 作業。

首先,您需要確定 cron 作業的運行頻率。 這可以是您喜歡的任何內容,但我們建議間隔 30 分鐘。

您需要單擊“通用設置”按鈕並從下拉列表中選擇時間間隔。 如果您不確定,對於大多數網站來說,“每小時兩次”是一個不錯的選擇。

Creating a New Cron Job in cPanel

現在您可以輸入要求 WordPress 運行其計劃任務的命令。 您需要將以下代碼粘貼到“命令”字段中:

wget -q -O - https://example.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

確保將“example.com”替換為您自己網站的 URL。

完成此操作後,請確保單擊“添加新的 Cron 作業”按鈕,您將看到新的 cron 作業已添加到下面的列表中。

Viewing the List of Cron Jobs in cPanel

WordPress 現在將每 30 分鐘檢查一次並運行計劃任務,而不是在有人訪問您的網站時。

使用第三方服務設置正確的 Cron 作業

如果您的託管計劃沒有提供適當的 cron 作業,或者它們難以設置,那麼您可以改用第三方 cron 服務。

這些是專用服務,允許您使用簡單的界面設置 cron 作業。 這裡有一些更好的:

  • EasyCron 有一個免費計劃,需要每月續訂
  • cron-job.org 是一項免費服務
  • 如果您只需要一項 cron 工作,Cronitor 是免費的
  • SetCronJob 提供付費計劃,起價為 10 美元/年

對於本教程,我們將使用 EasyCron,因為它易於使用,而且免費計劃適用於大多數初學者用例。

創建免費帳戶後,您可以通過單擊左側的“+ Cron Job”按鈕來創建新的 cron 作業。

Creating a New Cron Job in EasyCron

這將彈出“創建 Cron 作業”屏幕。 首先,您需要將以下 URL 粘貼到“要調用的 URL”字段中。

https://example.com/wp-cron.php?doing_wp_cron

確保將“example.com”替換為您自己網站的 URL。

Creating a New Cron Job in EasyCron

之後,您應該從“何時執行”下拉菜單中選擇“每 30 分鐘”。 完成後,不要忘記單擊“創建 Cron 作業”按鈕來存儲您的設置。

新的 cron 作業將被添加到列表中,並每 30 分鐘在您的網站上運行一次 wp-cron。

Viewing the List of Cron Jobs in EasyCron

我們希望本教程能幫助您了解如何在 WordPress 中禁用 wp-cron 並設置正確的 cron 作業。 您可能還想查看我們的 WordPress SEO 分步指南,或查看我們的常見 WordPress 錯誤列表以及如何修復它們。

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