如何查看和管理 WordPress Cron 作業

已發表: 2022-05-11

Cron 是一個作業調度程序,它允許用戶在 Linux 或類 Unix 操作系統中運行計劃任務。

WordPress 有自己的 Cron,稱為 WP-Cron。 WordPress Cron 的主要目的是運行核心 WordPress 任務。 在本文中,我們將介紹什麼是 WP-Cron,如何查看和管理 WordPress Cron 作業,以及如何在您的網站中禁用 WP-Cron。

目錄

什麼是 WordPress Cron
如何管理 Cron 作業
查看 WordPress Cron 事件
編輯 Cron 事件
添加新的 Cron 事件
Cron 時間表
禁用 Wp Cron
結論

什麼是 WordPress Cron?

WordPress Cron (WP-Cron) 是指 WordPress 如何促進任務的調度。 這些任務稱為 Cron 作業。 Cron 作業的示例包括:發布計劃的帖子、執行備份和更新檢查。

WordPress Cron 通過在頁面加載時檢查需要運行的內容來基於計劃任務工作。 然而,這有時是一個缺點,因為如果在有計劃任務的時候沒有發生頁面加載,那麼這將導致錯誤。 然而,儘管這是一個缺點,但可以保證任務最終會運行,至少在基於任務的隊列位置加載下一頁之前。

如何管理 Cron 作業

借助 WP Crontrol 插件,實際上可以查看、添加和修改 Cron 作業。

為了使用該插件,請導航到 WordPress 儀表板中的插件 > 添加新部分,然後搜索 WP Crontrol 插件。

接下來,安裝並激活插件。

完成安裝後,您可以繼續在 WordPress 站點中管理 Cron 作業。

查看 WordPress Cron 事件

要查看 WordPress Cron 事件,請導航到 WordPress 儀表板中的工具 > Cron 事件部分。

在這裡,您可以查看計劃在您的網站內運行的所有活動。

這些事件分為不同的類別:

  • 沒有動作的事件
  • WordPress 核心事件
  • 自定義事件

在第一列下,您可以查看用於運行 Cron 事件的掛鉤。 鉤子名稱提供了計劃事件的作用的概念。 帶有前綴 wp 的鉤子是 WordPress 核心事件鉤子。 這些掛鉤無法刪除。

在第二列中,有“參數”部分。 此列包含傳遞給掛鉤的參數。 如果鉤子不包含參數,則呈現“無”佔位符。

第三列是“下一次運行”。 這將顯示 Cron 事件下一次運行的時間以及到下一次運行該事件的時間間隔。

第四列是“動作”。 在這裡,我們有 Cron 掛鉤將執行的操作。

“重複”是最後一列。 它包含關於事件何時重複或事件再次發生的定義。

編輯 Cron 事件

要編輯 Cron 事件,請將鼠標懸停在 Cron 事件上,然後單擊事件上的編輯鏈接。

然後,您將被重定向到“編輯 Cron 事件”部分。 在這裡,您可以根據自己的喜好自定義活動。

添加新的 Cron 事件

通過單擊 Cron Events 部分中的“Add New”按鈕創建一個新的 Cron 事件。

然後,您將被重定向到具有“添加 Cron 事件部分”的下一個屏幕。

在此部分中,指定事件類型(無論是標準事件還是 PHP Cron 事件)。

接下來,指定掛鉤名稱。 鉤子名稱需要遵循 WordPress 命名約定。 在我們的例子中,我們將添加鉤子名稱“wpb_publish_post”。

在參數部分,您可以填寫需要添加到數組中的參數。 然而,這是可選的。

在“下一次運行”部分中,指定事件運行的時間,在“重複”部分中,指定事件運行的頻率。

下面是我們將在此處指定的詳細信息的示例說明:

添加事件後,我們將從事件列表中查看事件,如下所示:

現在,將決定掛鉤功能的 PHP 代碼添加到主題的 functions.php 文件中。

在我們的例子中,我們將添加代碼以發布特定的帖子。 為此,您需要添加以下代碼:

 function publish_post_func(){ //Assign your Post ID $post = 717; //Run the publish post function $result = wp_publish_post($post); } add_action( 'wpb_publish_post', 'publish_post_func' );

此代碼將發布我們的一篇帖子,其中帖子 ID 為 717。您可以根據您網站上的可用帖子使用您偏好的帖子 ID。

請注意,我們指定的事件重複是“非重複”,因為您只能發布一次帖子。

一旦到達設定的“下一次運行”時間,就會發布帖子。 以下是關於此的截屏視頻:

Cron 時間表

WP Crontrol 插件包含默認的 Cron 計劃。 這些可以從 WordPress 儀表板中的“設置”>“Cron 計劃”部分中識別。 如果您有添加自定義計劃的插件,那麼這些也將反映在本節中。 您還可以在該部分中添加自己的自定義計劃。 以下是本節的示例插圖:

如果您希望通過代碼手動添加時間表,這也是可以實現的。 下面是添加 60 秒 Cron 間隔的示例代碼。 您可以將代碼添加到主題的 function.php 文件中:

 add_filter( 'cron_schedules', 'cron_interval' ); function cron_interval( $schedules ) { $schedules['sixty_seconds'] = array( 'interval' => 60, 'display' => esc_html__( 'Every Sixty Seconds' ), ); return $schedules; }

添加後,您將在 Cron 計劃列表中查看計劃:

禁用 Wp Cron

在高流量網站中,WordPress Cron 可能會對您的網站性能產生負面影響,尤其是在頁面加載方面。 在這種情況下,禁用 WordPress Cron 而使用 Server Cron 是有意義的。

為了禁用默認的 WordPress Cron,您需要執行以下操作:

通過 FTP 訪問您的站點文件。 您可以使用諸如 Filezilla 之類的 FTP 軟件或您的主機提供的諸如 cPanel 之類的面板來執行此操作。

導航到 WordPress 文件的根目錄並選擇編輯 wp-config.php 文件。

在文件中,在“/* 就這樣,停止編輯! 快樂出版。 */”。

 define('DISABLE_WP_CRON', true);

下面是一個示例截圖:

完成後,保存您的更改。

結論

使用 WordPress Cron,您可以非常輕鬆地安排 Cron 事件。 在本文中,我們介紹了什麼是 Cron 作業,如何使用 WP Crontrol 插件管理它們以及如何禁用 WordPress Cron。

我們希望這篇文章有助於提供有關如何管理 WordPress Cron 事件的見解。 如果您有任何問題或建議,請隨時在下面發表評論。