什麼是WordPress Heartbeat API以及如何管理它

什麼是WordPress Heartbeat API以及如何管理它配圖

2013年,WordPress引入了Heartbeat API——一種允許您的瀏覽器自動與伺服器通訊的功能。但是,此功能有幾個缺點。

如果您使用共享主機計劃,則需要仔細檢視伺服器的CPU使用率。那是因為當您超出限制時,一些託管公司可能會暫停您的帳戶。

在這裡,我們將討論為什麼WordPress Heartbeat API是導致問題的常見嫌疑人,及如何禁用和修改Heartbeat API頻率。

什麼是WordPress Heartbeat API?

WordPress Heartbeat API在瀏覽器和伺服器之間提供了一種使用AJAX呼叫的通訊協議

顧名思義,API將在接收到資料時傳送連續脈衝並觸發事件(或回撥)。此功能可幫助您在伺服器和WordPress儀表盤之間同步所有資料。

Heartbeat API背後的想法非常引人注目。例如,當您從編輯器建立/編輯文章時,它提供了定期自動儲存文章的功能。

在協作WordPress網站中,它具有後鎖定功能,以防止您編輯其他使用者正在處理的文章。如果您使用電子商務外掛,此API還將有助於顯示您網站上發生的銷售情況。

為什麼要限制WordPress Heartbeat API?

雖然具有自動儲存功能和實時資料通知功能是有益的,但在特定情況下可能是有害的。

Heartbeat API使用/wp-admin/admin-ajax.php檔案傳送AJAX請求(POST 請求) 。每個執行PHP檔案的請求都等於伺服器上的CPU時間。

這可能會導致向託管伺服器傳送大量請求,從而導致CPU使用率過高。

正如我們之前提到的,對於具有共享託管計劃的網站管理員來說,這可能是一個問題。當您達到配額限制時,高CPU使用率最終會導致帳戶暫停。

因此,如果您遇到的問題會導致POST-admin-ajax.php出現峰值,這裡有一個教程可以幫助您解決這個問題

停止Heartbeat API之前需要考慮的事項

如果您打算完全停止Heartbeat API,則需要三思而後行。不是因為你做不到,而是不實用。

如果沒有WordPress Heartbeat API,如果您忘記單擊“儲存草稿”按鈕,您在文章中所做的所有更改都將丟失。您將無法再訪問WordPress中的修訂功能

如果您安裝使用Heartbeat API的WordPress外掛,您也無法在您的站點上顯示實時通知和資訊功能。

但是,如果您是一個人工作,並且所有這些功能對您來說並不重要,那麼您可以繼續停止WordPress Heartbeat API。

否則,您可能會考慮改為控制API。

如何使用外掛限制WordPress Heartbeat API?

您可以使用Heartbeat Control外掛控制Heartbeat API向您的伺服器傳送回撥的頻率。

安裝並啟用外掛後,轉到Settings -> Heartbeat Control Settings。在這裡,您可以為API設定一定的規則。

  • Heartbeat Behavior– 允許您啟用心跳禁用心跳修改心跳
  • Location– 確定您要控制API的區域,它為您提供三個選項:WordPress儀表盤前端文章編輯器
  • Frequency– 您允許每個確定位置的回撥次數。取值範圍為15到300秒

什麼是WordPress Heartbeat API以及如何管理它-1

在示例中,我們將Post Editor中Heartbeat API函式的頻率限制為200秒。如果您有多個作者在同一個WordPress網站上工作,這是一種更實用的方法。

您還可以在您希望控制的每個位置設定不同的值。只需單擊新增另一個值按鈕,並相應地進行調整。

該外掛還允許您完全禁用WordPress Heartbeat API。您可以通過為Heartbeat Behavior選擇Disable Heartbeat來做到這一點。

如何在沒有外掛的情況下完全停止Heartbeat API?

您也可以在沒有外掛的情況下停止Heartbeat API,方法是將此程式碼段新增到您的活動主題functions.php檔案中。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
add_action( 'init', 'stop_heartbeat', 1 );
function stop_heartbeat() {
wp_deregister_script('heartbeat');
}
add_action( 'init', 'stop_heartbeat', 1 ); function stop_heartbeat() { wp_deregister_script('heartbeat'); }
add_action( 'init', 'stop_heartbeat', 1 );
function stop_heartbeat() {
wp_deregister_script('heartbeat');
}

請記住,如果您是網站的唯一工作人員並且您不需要安裝使用此API的其他外掛,則應該這樣做。

什麼是WordPress Heartbeat API以及如何管理它-2

從您的WordPress儀表板,轉到Appearance -> Theme Editor。確保您正在編輯網站的活動主題。從右側導航選單中單擊主題函式 (functions.php) 。將上面的程式碼片段貼上在<?php標記之後,然後單擊Update

就是這樣,現在您已經成功地在您的站點上禁用了WordPress Heartbeat API。

小結

您已經瞭解了WordPress Heartbeat API及其為您的站點提供的功能。儘管這無疑是有益的,但在共享託管環境中,如果您處理不當,它可能會導致相當大的問題。

要減少伺服器上的CPU使用率,您可以控制API或完全禁用它。此外,您可以使用外掛或手動將程式碼新增到functions.php檔案中。

評論留言