用 Elementor Pro 做網站表單的時候,很多人會覺得有點不方便——雖然表單送出都會記錄下來,但它藏在後台的「Elementor → Submissions」裡,不但位置不明顯,也很容易被遺忘。
常常有使用者明明已經填了表單,結果管理者幾天後才發現,實在很容易錯失重要訊息。
所以這篇就要來分享一個簡單又實用的小技巧:我們可以把「聯絡表單」這個選項加到 WordPress 的主選單中,並且在旁邊加上未讀數量的紅色徽章。
這樣一來,打開後台馬上就能看到「有幾封還沒處理」,不用再進去一層層找。

功能簡介
這段程式的目的是:
讓你在後台側邊欄,直接看到一個「聯絡表單」選項,如果有新訊息還沒讀,旁邊就會出現紅色小圈圈(數字徽章)。
這個選單點下去,會直接帶你到 Elementor 的送出紀錄頁面(也就是 Submissions),操作起來跟 WordPress 其他原生通知一樣順手。
整體流程是這樣的:
- 代碼會自動偵測 Elementor 的表單資料表是否存在
 - 抓出還沒被標記為已讀的筆數
 - 依照這個數量顯示一個小徽章
 - 加入一個自訂選單項目,指向 Elementor 的表單列表頁面
 
程式碼怎麼用?
只要把這段程式貼到主題的 functions.php 裡(或做成小外掛),儲存之後重新整理後台,就會看到效果囉:
/**
 * ----------------------------------------------------------
 * Elementor 表單後台整合:在主選單新增「聯絡表單」與未讀提示
 * ----------------------------------------------------------
 * 功能說明:
 * 1. 自動偵測 Elementor Pro 的表單送出資料表(wp_e_submissions)。
 * 2. 計算尚未閱讀的表單筆數(is_read = 0)。
 * 3. 在 WordPress 後台主選單中新增「聯絡表單」項目,並在標題旁顯示紅色徽章提示未讀數量。
 * 4. 點擊後可直接前往 Elementor 內建的送出紀錄頁面(slug: e-form-submissions)。
 *
 * 使用情境:
 * - 適合需要即時掌握表單送出狀況的網站管理者。
 * - 不需修改 Elementor 核心,只透過 WordPress API 新增選單項目。
 */
 // 在後台選單中新增「聯絡表單」並顯示未讀數量
add_action('admin_menu', 'add_custom_contact_form_menu_with_count');
function add_custom_contact_form_menu_with_count() {
    global $wpdb;
    $unread_count = get_unread_form_submission_count();
    // 建立選單文字(加上 badge)
    $menu_title = '聯絡表單';
    if ($unread_count > 0) {
        $menu_title .= ' <span class="update-plugins count-' . intval($unread_count) . '"><span class="plugin-count">' . intval($unread_count) . '</span></span>';
    }
    add_menu_page(
        '聯絡表單',
        $menu_title,
        'manage_options',
        'e-form-submissions',
        '',
        'dashicons-email',
        30  //可以據數值大小調整選單位置
    );
}
// 取得 Elementor 表單「未讀」送出數量
function get_unread_form_submission_count() {
    global $wpdb;
    $table = $wpdb->prefix . 'e_submissions';
    // 確認 Elementor Pro 的資料表存在
    if ($wpdb->get_var("SHOW TABLES LIKE '$table'") != $table) {
        return 0;
    }
    // 查詢 is_read = 0(未讀)的筆數
    $count = $wpdb->get_var("SELECT COUNT(*) FROM {$table} WHERE is_read = 0");
    return intval($count);
}
Code language: PHP (php)
記得!!最好的方式是使用子佈景主題來放函數喔,避免主要的佈景主題更新後加入的代碼也一併被移除了。
效果長什麼樣子?
加好代碼後WordPress 後台左邊的選單會出現一個新項目叫「聯絡表單」並伴隨著未讀表單提醒,非常直覺。

點下 聯絡表單 就直接跳到 Elementor 的表單列表頁,讓你馬上知道有哪些表單還沒回覆。
其他補充說明
- 就算網站還沒開啟 Elementor 表單功能,這段程式也不會出錯,因為會先檢查資料表存不存在。
 - 加入的選單只有管理員(
manage_options權限)看得到,其他使用者角色不會受到影響。 - 使用的是 WordPress 官方提供的選單與樣式,整體外觀跟系統很一致。
 
小結
這段代碼雖然簡單但效果非常實用,尤其對有客戶詢價、合作聯絡需求的網站來說更是必備;不需要改 Elementor 的核心,也不需要改資料庫,只是加上一個貼心的小選單,馬上就能提升表單管理的效率。
如果你也覺得原本的表單紀錄藏得太深,那就趕快加上這段程式,讓你的網站後台更順手、更好用!
															
															
								




