表單藏太深?一招讓 Elementor 聯絡表單直接出現在後台

目錄

文章摘要:

使用 Elementor Pro 製作網站表單時,雖然能記錄所有送出資料,但位置隱藏在「Elementor → Submissions」中,對管理者並不直覺。

透過簡單的自訂程式,可以讓「聯絡表單」直接出現在 WordPress 後台主選單上,並在旁顯示未讀訊息的紅色徽章,方便管理者一眼掌握尚未處理的表單。

這段程式會自動偵測 Elementor 的資料表、統計未讀筆數、動態更新數量,點擊後即可跳轉至送出紀錄頁面。整體外觀與 WordPress 系統風格一致,不需修改核心程式,也不影響其他使用者權限,能顯著提升表單管理的便利性與回覆效率。

用 Elementor Pro 做網站表單的時候,很多人會覺得有點不方便——雖然表單送出都會記錄下來,但它藏在後台的「Elementor → Submissions」裡,不但位置不明顯,也很容易被遺忘。

常常有使用者明明已經填了表單,結果管理者幾天後才發現,實在很容易錯失重要訊息。

所以這篇就要來分享一個簡單又實用的小技巧:我們可以把「聯絡表單」這個選項加到 WordPress 的主選單中,並且在旁邊加上未讀數量的紅色徽章。

這樣一來,打開後台馬上就能看到「有幾封還沒處理」,不用再進去一層層找。

後台 Elementor 收集表單後的列表位置
加入代碼之前後台側邊欄介面

功能簡介

這段程式的目的是:
讓你在後台側邊欄,直接看到一個「聯絡表單」選項,如果有新訊息還沒讀,旁邊就會出現紅色小圈圈(數字徽章)。

這個選單點下去,會直接帶你到 Elementor 的送出紀錄頁面(也就是 Submissions),操作起來跟 WordPress 其他原生通知一樣順手。

整體流程是這樣的:

  1. 代碼會自動偵測 Elementor 的表單資料表是否存在
  2. 抓出還沒被標記為已讀的筆數
  3. 依照這個數量顯示一個小徽章
  4. 加入一個自訂選單項目,指向 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 的核心,也不需要改資料庫,只是加上一個貼心的小選單,馬上就能提升表單管理的效率。

如果你也覺得原本的表單紀錄藏得太深,那就趕快加上這段程式,讓你的網站後台更順手、更好用!

常見問題:

因為 Elementor Pro 的表單送出資料預設儲存在後台的「Elementor → Submissions」中,這個位置比較隱密,不在主選單裡,許多管理者常常忘記查看,導致錯過客戶的詢問或聯絡資訊。
只要在主題的 functions.php 或子主題中加入一段 PHP 程式,就能在後台側邊欄新增「聯絡表單」選項,並自動顯示未讀訊息的紅色徽章,讓管理者一進後台就能知道還有幾封未處理的表單。
不會。這段程式只是在後台動態新增選單,並從 Elementor 的資料表讀取未讀筆數,不會動到任何核心檔案或資料結構,也不影響 Elementor 的更新。
不會。程式在執行前會先檢查 Elementor 的表單資料表是否存在,若不存在就不執行任何查詢,因此不會造成錯誤或影響網站運作。
適合使用 Elementor Pro 製作聯絡表單、報價表單或客戶詢問表單的商業網站。管理者可以即時掌握新表單送出狀況,不必再進入 Elementor 的次級頁面,大幅提升後台操作效率與回覆速度。
您可能感興趣