AumNexCart 是一套 WordPress 的商品型錄。商品帶的是規格欄位而不是結帳流程: 訪客把感興趣的項目蒐集起來,送出一份結構化的詢價。它不要求特定佈景主題, 也不需要其他外掛。
1. 這個外掛加入了什麼
啟用 AumNexCart 會註冊一個內容類型 Products,以及屬於它的一個分類法 Categories。每一件商品承載的正是一份規格表所承載的東西 —— 標題、說明、圖片、 四種形狀之一的價格,以及任意數量的具名屬性 —— 前台把它們渲染成彙整頁、篩選列與商品頁。
取代結帳的那一部分是詢價清單。訪客一邊瀏覽一邊把商品加進去、設定數量, 再透過您指定的那個頁面上的表單送出。清單存在訪客自己的瀏覽器裡, 因此伺服器端不會因人而異,任何頁面快取都不必為它做特別處理。
2. 安裝
安裝並啟用外掛。不需要任何進一步設定即可發佈一份型錄。
外掛的選單位置取決於站上還裝了什麼 —— 它會去找一個該歸屬的地方, 而不是在已有的選單旁邊再開一個頂層選單:
- 單獨使用時,AumNexCart 加入一個 Products 選單,設定位於 Products → Settings。
- 啟用了 AumCreate 佈景主題時,設定移到該佈景主題的選單底下,名為 NexCart, 而型錄本身仍保有自己的 Products 選單。
兩種情況下其他東西完全一樣:同樣的畫面、同樣的設定。

3. 新增一件商品
開啟 Products → Add New。這個畫面是一般的 WordPress 編輯器,加上外掛新增的四個區塊: Media Gallery、Product Attributes、Contact Actions 與 Price。

3.1 標題、說明與圖片
標題與編輯器內容就是商品的名稱與說明。特色圖片是商品的主圖, 用於彙整頁、商品頁,以及詢價清單中。
Media Gallery 存放商品其餘的媒體。項目可從媒體庫加入或以遠端網址加入, 可拖曳排序,第一個會被當作封面圖。影片支援直接的檔案網址(.mp4、.webm), 不支援嵌入碼。
3.2 商品屬性
Product Attributes 區塊可放任意數量的列,每一列是一個名稱與一個值 —— Ref、Turnaround、Minimum lot、Material,型錄需要什麼就填什麼。名稱由您決定, 外掛不強加任何結構。Add Parameter 新增一列,左側的握把用來重新排序, 排列順序就是它們在商品頁上出現的順序。
這些列正是讓型錄成為型錄、而不是一串文章的東西。它們在商品頁上渲染成一個表格, 其中任何一項都可以成為篩選條件。該區塊會在列的下方列出目前哪些名稱可作為篩選條件, 資料讀自設定。
3.3 價格
Price 區塊提供三個選項:
- Price Range —— 一個最小值與一個最大值。只填最小值即為單一價格: 一件商品填
480而不填其他,渲染為€480。 - Custom Text —— 自由文字,用於不是數字的價格:From €120、POA、 Free with a fabrication order。
- Do Not Show —— 商品上完全不顯示價格。
貨幣符號、以及它放在數字之前或之後,是整份型錄設定一次,位於設定頁中。
3.4 聯絡動作
Contact Actions 區塊決定商品底下那些按鈕的行為。每一個動作為三種之一:
- Email —— 開啟訪客的郵件軟體,主旨中帶有商品名稱。
- WhatsApp —— 開啟 WhatsApp 並預先填入訊息。
- Custom —— 任意網址。
未自行設定動作的商品,會退回使用整份型錄的預設值,因此只有一個業務信箱的型錄 設定一次即可,不必在每件商品上重複。
4. 分類
商品以 Categories 組織,那是它自己的分類法,與文章使用的分類互不相干。 分類可以巢狀、帶有說明,並擁有自己的彙整網址。
彙整頁上的篩選列會列出分類,因此您給分類的結構,就是訪客瀏覽時依循的結構。
5. 前台的型錄
5.1 彙整頁
商品列在型錄的彙整網址上,預設為 /products/。每張卡片帶有封面圖、分類、標題與價格。

5.2 篩選列
列表上方有一條列,包含搜尋框、分類選擇器與排序方式。它就地篩選列表。

這條列也能依屬性篩選。哪些屬性會出現在那裡,由 Settings → Filter 以列出名稱的方式 決定:一份型錄列出 Ref、Turnaround 與 Minimum lot,就會各得到一個篩選條件。 只有被列出的那些才會建立篩選索引 —— 這也正是這份清單放在設定裡、 而不是從任何商品碰巧帶了什麼推導出來的原因。
變更該清單之後,請到 Tools 標籤執行 Rebuild Attribute Index。索引是在儲存商品時 建立的,因此在變更之前就已儲存的商品,尚未帶有新列出之屬性的索引項目。
5.3 商品頁
商品頁顯示封面圖與圖庫、標題、分類、價格、以表格呈現的屬性、說明,以及聯絡按鈕。

6. 詢價清單
一份沒有結帳的型錄,仍然需要回答「這個我要十二件、那個五件,整批報個價」。 那就是詢價清單。
6.1 商品如何進入清單
每一次「加入」都是一個網址:詢價頁加上 ?aum_enquiry_add=<商品 ID>。 帶著它的純連結在完全沒有 JavaScript 的情況下也能運作 —— 訪客會進到詢價頁,而商品已經在那裡。前台指令碼會就地升級這些連結, 因此在有 JavaScript 時,點擊會直接加入商品而不跳頁,角標也隨之更新。
6.2 清單存在哪裡
清單存在訪客自己的瀏覽器中,位於 localStorage。伺服器從不保存它。
這是一個刻意的選擇,帶來一個實際後果:站上不會有任何東西因此而因人而異, 所以整頁快取可以把每一個頁面都服務給所有人。把購物車放在 cookie 或 session 裡 則正好相反 —— 除非特別告知快取,否則每一個頁面都變成因人而異, 而那正是一個有快取的網站開始把某位買家的頁面送給另一位買家的常見原因。
6.3 詢價頁
在 Settings → Enquiry 中指定一個頁面,並在該頁面上放入 [aum_nexcart_enquiry] 短代碼。該短代碼會渲染清單、解析商品, 並讓買家設定數量。

[aum_nexcart_enquiry_link] 會渲染一個連往該頁面的連結,並帶有目前的件數, 適合放在頁首或選單中。
6.4 把清單交給表單
詢價頁會把清單的純文字摘要寫進該頁面上任何表單的一個隱藏欄位中。 欄位名稱在 Settings → Enquiry 中設定,預設為 enquiry_items。
交接就只有這些。任何能把隱藏欄位帶進通知信的表單外掛都能用, 因為兩者之間的耦合只有一個欄位名稱,再無其他。
7. 名稱與網址
型錄不一定總是「商品」的型錄。Settings → General 可設定一個項目與一個分類 各自的單數與複數名稱,這些名稱會用在後台選單、麵包屑與彙整頁標題上。
同一節也設定網址區段。一份製程的型錄可以位於 /processes/, 其分類位於 /stages/。儲存時會清除並重建重寫規則,因此新網址立即生效。
8. 批次作業
Settings → Tools 提供三項操作。
- Export Products 把每一件商品匯出成一個 CSV 下載。它同時也是匯入用的範本: 欄位標題正是匯入時所預期的那些。
- Import Products 上傳一個帶有那些標題的 CSV。新商品會被建立,已存在的商品 維持不動,因此匯入不會覆蓋既有成果。CSV 中引用的媒體必須是遠端網址, 匯入器不上傳本機檔案。
- Rebuild Attribute Index 走過每一件商品,重寫篩選列所讀取的那些資料列。 變更可篩選的屬性之後請執行它。

9. 轉移到 WooCommerce
Settings → Migration 把型錄中的每一件商品複製為一件新的 WooCommerce 商品。 原本的商品完整保留,因此退路就是停用 WooCommerce。
這項功能是為了那些詢價已經不敷使用、開始要收款的型錄而存在的。 請在真的準備好時執行它,而不是拿來試看看。
10. 範本覆寫
前台由外掛自己的範本渲染。要修改其中一個,請把它從外掛的 templates/ 目錄 複製到您佈景主題內一個名為 aum-nexcart/ 的目錄中,然後編輯那份副本。 Settings → Advanced 會印出您這個站上的這兩個路徑。
佈景主題中的副本優先於外掛自己的那一份,而且不會被外掛更新覆蓋。
11. 擴充型錄的外掛與佈景主題
這些一個都沒安裝,外掛照常運作。
- AumViso —— 為商品加上搜尋引擎用的結構化資料,讓型錄頁面能向搜尋引擎 自我描述為一件商品,而不是一篇文章。
- AumCreate 佈景主題 —— 設定畫面移到該佈景主題自己的選單底下, 而不是另外開一個地方讓人找。其他沒有任何變化。
- WooCommerce —— 只與第 9 節的轉移有關。
每一個都在執行階段偵測,移除其中一個會讓型錄回到外掛自己渲染的樣子。
12. 設定對照表
設定畫面上的每一個欄位,依標籤排列。所有欄位都存放在同一個 WordPress 選項 aum_nexcart_settings 之中。

12.1 General
| 欄位 | 設定什麼 |
|---|---|
| Currency Symbol | 每一個價格旁顯示的符號 |
| Currency Position | 放在數字之前或之後 |
| What a product is called (singular) / Plural | 後台選單、麵包屑與彙整頁標題所使用的字詞 |
| Product URL Slug | 彙整網址 —— /您的代稱/。儲存時會重建重寫規則 |
| What a category is called (singular) / Plural | 同上,用於分類 |
| Category URL Slug | 分類彙整頁的網址 |
| Products Per Page | 彙整頁一頁容納多少商品 |
12.2 Display
| 欄位 | 設定什麼 |
|---|---|
| Archive Columns | 一列放幾件商品 |
| Display price on archive cards and product page | 是否顯示價格 |
| Display the category label above product titles | 卡片上是否顯示分類 |
| Disable plugin frontend stylesheet | 不輸出樣式,交給自行設計樣式的佈景主題 |
12.3 Filter
| 欄位 | 設定什麼 |
|---|---|
| Filter Mode | 篩選列的行為方式 |
| Filterable Attribute Keys | 哪些屬性名稱會得到篩選條件,並為此建立索引 |
12.4 Contact
預設的聯絡動作,供所有未自行定義動作的商品使用。每一個是一個電子郵件地址、 一個 WhatsApp 號碼或一個網址,並附上按鈕上顯示的標籤。
12.5 Enquiry
| 欄位 | 設定什麼 |
|---|---|
| Enquiry page | 放置 [aum_nexcart_enquiry] 的那個頁面 |
| Add button label | 商品尚未進入清單時,按鈕上的文字 |
| Label once added | 加入之後的文字 |
| Form field name | 清單寫入的那個隱藏欄位 —— 預設為 enquiry_items |
12.6 Tools、Migration、Advanced
這三個標籤本身不含設定。Tools 提供 CSV 匯出、CSV 匯入與屬性索引重建(第 8 節); Migration 提供 WooCommerce 複製(第 9 節);Advanced 印出範本覆寫所需的路徑(第 10 節)。
13. 疑難排解
彙整網址回傳 404。 重寫規則尚未重建。儲存設定會重建它們, 造訪 Settings → Permalinks 也會。
我新增的屬性沒有出現篩選條件。 請在 Settings → Filter 中列出它的名稱, 然後到 Tools 標籤執行 Rebuild Attribute Index。在名稱加入之前就已儲存的商品, 不帶有該屬性的索引項目。
某件商品不顯示價格。 它的 Price 區塊設為 Do Not Show, 或整份型錄的價格已在 Settings → Display 中關閉。
在另一台裝置上詢價清單是空的。 清單保存在建立它的那個瀏覽器中。 它不是一個帳號,也不會跟著訪客在不同裝置之間移動。
詢價摘要沒有進到郵件裡。 詢價頁上的表單需要一個隱藏欄位,其名稱必須與 Settings → Enquiry 中的 Form field name 相符,而且該表單自己的通知信 也必須包含那個欄位。