郵件模板

Home Forums 尹說 郵件模板

  • This topic is empty.
Viewing 0 reply threads
  • Author
    Posts
    • #16407
      ejsoon
      Keymaster

      wordpress當留言有人回覆時,發送通知郵件的模板在哪設置?

      在 WordPress 中,當留言有人回覆時發送的通知郵件模板並沒有直接提供一個內建的編輯界面來修改其內容,因為這些通知郵件是由 WordPress 核心程式碼生成的。不過,你可以通過以下幾種方法自定義這些通知郵件的模板或內容:

      ---

      ### 方法 1:使用插件自定義通知郵件
      最簡單的方法是使用插件來修改和管理通知郵件模板。以下是一些推薦的插件:

      1. **Better Notifications for WordPress**
      - 安裝並啟用插件後,前往 WordPress 後台的「Notifications」設置。
      - 創建一個新的通知,選擇觸發條件為「Comment Reply」(留言回覆)。
      - 在模板編輯器中自定義郵件的主題(Subject)、內容(Body),甚至可以加入動態變量(如評論者姓名、文章標題等)。
      - 保存後,該插件會覆蓋 WordPress 默認的通知郵件。

      2. **Email Templates**
      - 這個插件允許你設計漂亮的 HTML 郵件模板,並應用於所有 WordPress 發送的郵件,包括留言回覆通知。
      - 在後台設置中調整樣式和內容。

      3. **WP Mail SMTP**
      - 雖然主要是用來配置 SMTP,但它也提供了一些基本的郵件自定義功能,可以間接影響通知的外觀。

      **優點**:無需編寫代碼,適合新手。

      ---

      ### 方法 2:通過代碼修改通知模板
      如果你熟悉 PHP,可以通過過濾器(filter)修改 WordPress 的通知郵件內容。這些通知由 `wp_notify_postauthor()` 和 `wp_notify_moderator()` 函數控制,你可以用 `wp_mail` 過濾器來調整。

      #### 步驟:
      1. **編輯主題的 `functions.php` 文件**:
      - 在你的 WordPress 主題文件夾中找到 `functions.php`,或者使用子主題以避免更新時被覆蓋。
      - 添加以下代碼:

      ```php
      add_filter('wp_mail', 'customize_comment_reply_email', 10, 1);

      function customize_comment_reply_email($args) {
      // 檢查是否為評論回覆通知
      if (strpos($args['subject'], 'Comment') !== false && strpos($args['message'], 'In reply to') !== false) {
      // 自定義郵件主題
      $args['subject'] = '有人回覆了您的留言 - ' . get_bloginfo('name');

      // 自定義郵件內容
      $args['message'] = "親愛的用戶,\n\n";
      $args['message'] .= "有人在 [" . get_bloginfo('name') . "] 回覆了您的留言。\n";
      $args['message'] .= "查看詳情: " . get_permalink($comment->comment_post_ID) . "#comment-" . $comment_id . "\n\n";
      $args['message'] .= "感謝您的參與!\n";
      $args['message'] .= "來自 " . get_bloginfo('name') . " 團隊";
      }
      return $args;
      }
      ```

      2. **保存並測試**:
      - 上傳修改後的文件,然後在網站上測試留言回覆功能,檢查郵件是否按你的設計發送。

      **注意**:
      - 你需要根據實際需求調整 `$args['subject']` 和 `$args['message']` 的內容。
      - 如果需要獲取更多動態數據(如評論者姓名),可以結合 `get_comment()` 函數。

      ---

      ### 方法 3:覆蓋核心郵件模板(進階)
      WordPress 的郵件模板直接硬編碼在核心文件中(例如 `wp-includes/pluggable.php` 中的 `wp_notify_postauthor()`),但不建議直接修改核心文件,因為更新時會被覆蓋。更好的方法是:
      - 使用插件或代碼(如方法 2)完全重寫這些函數的行為。

      ---

      ### 默認設置位置
      如果你只是想調整基本的通知開關(而不是模板內容),可以:
      1. 前往 WordPress 後台的「設置」>「討論」。
      2. 在「電子郵件通知我」部分,勾選「任何人發佈評論時」或「評論需要審核時」。
      3. 這些設置只控制是否發送通知,而不涉及模板本身。

      ---

      ### 總結
      - **簡單需求**:用插件(如 Better Notifications for WordPress)。
      - **進階自定義**:修改 `functions.php` 添加過濾器。
      - **測試**:修改後記得測試郵件發送,確保格式和內容符合預期。

      如果你需要更具體的代碼範例或插件推薦,可以告訴我你的 WordPress 版本或其他細節,我再幫你優化!

Viewing 0 reply threads
  • You must be logged in to reply to this topic.