本篇文章更新時間:2019/10/28
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知或向一介資男的 LINE 社群反應。
如果本站內容對你有幫助,歡迎贊助支持


WordPress 在 5.2.0 版本加入了一個網站健康狀態檢查的機制,功能滿豐富的可以看看。其中當網站發生運行錯誤的狀態時會有一封「網站遭遇技術性問題」的信發出。

這篇文章就是要說怎改這通知信的收件人地址!

為什麼?網站一但從客戶接手,如果發生這類型技術問題,客戶可能不懂,再來也會要轉寄給網站系統管理員。太多此一舉了!

另一方面,有時候快取外掛也會造成一些不必要的誤會觸發問題,這封信有如恐嚇一樣,誰收到都害怕,怎能讓客戶先收?XD

追一下程式發現寫在這邊: wp-includes/class-wp-recovery-mode-email-service.php

網站遭遇技術性問題

邏輯上是預設發給系統指定信箱(設定->一般)有三個方法可以辦到彈性修改這個發信對象!

  1. 直接把設定裡的信箱改成網站管理員的,缺點是一堆可能不屬於你權限的信都會發給你,不建議!
  2. wp-config.php 中加入下方的常數定義方法。(作用網站全域,有多站架構可以一次搞定)
  3. 在主題中的 functions.php 中加入下方的 Filter 方法。(本人推薦,作用當前網站,多站架構有可以分別發送的彈性)

wp-config.php 常數定義方法

define( "RECOVERY_MODE_EMAIL", "收件人" );

主題 functions.php 的 Filter 方法

//修改「網站遭遇技術性問題」通知信收件人
function mxp_change_recovery_mode_email($email, $url) {
    $email['to'] = '收件人信箱'; //收件人
    // $email['subject'] //主旨
    // $email['message'] //內文
    // $email['headers'] //信件標頭
    return $email;
}
add_filter('recovery_mode_email', 'mxp_change_recovery_mode_email', 11, 2);


Share:

作者: Chun

WordPress 社群貢獻者、開源社群推廣者。專注於 WordPress 外掛開發、網站效能最佳化、伺服器管理,以及 iDempiere 開源 ERP 導入與客製開發。曾參與 WordCamp Taipei 等社群活動,GitHub Arctic Code Vault Contributor。提供資訊顧問、WordPress 開發教學、主機最佳化與企業 ERP 整合服務。

參與討論

2 則留言

  1. 這個方法好,之前將多管理者的 email 直接寫在資料庫的 wp_options /admin_email 裡,可以替換成這個方式更方便。

發佈留言

發佈回覆給「Yungke Li」的留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


文章
Filter
Apply Filters
Mastodon