WordPress 有一個很強的功能模組就是「Shortcode API」,知名 Page Builder 頁面編輯器 WPBakery 也是以此打出名號。 不過有時候有些 Shortcode 短碼就差一點點滿足目標需求時怎辦? 我通常會有兩個解法: 找找看有沒有 Hook 勾點來強化 繼承那個短碼 …
標籤彙整: 程式開發
[WordPress] 指定提醒網站會員注意事項的功能
昨天因應客戶需求開發,想要設計一個能在前端顧客瀏覽網站時出現通知的功能。 這功能不是全站大橫幅「公告」類型,而是「針對性」的指定通知某個顧客的方式。由於是與系統發信同步,所以就沒有特別設計一個後台來做指定顧客與內容的方法,純粹條件滿足有發信,就補上這樣的通知給使用中的顧客提醒。 方法設計如下: 發信 …
[WordPress] 使用 PHP 陣列批次建立網站巢狀分類資料
客戶整理了一大張產品的分類表,滿滿的階層結構就算了,資料量也不小。 如果要手動建立也是要花不少時間,想把這些資料整理成一個巢狀的階層陣列來匯入。 結果圖如下: 使用的陣列如下: $categories = [ [ 'Category 1' => [ 'Subcat …
[WooCommerce] PHP 程式建立訂單與加入收費項目 Line item 的方法
當預設的下單流程不能滿足某些使用情境的時候,使用客製化的程式來建立訂單算還滿直覺的做法。 過去有筆記過前段「程式建立訂單」的文 [WooCommerce] 客製化訂單與結帳流程的作法。我這邊也就不重複多貼一次,但要特別提那篇的重點還有建立完訂單後,還可以觸發去結帳的金流行為。 do_action(& …
[WooCommerce] 移除或取代內建預設事件的方法
WooCommerce 真的是一套很強的 WordPress 電商系統外掛。學習的過程也會發現其實設計複雜度不亞於一套 WordPress 核心。 「內建預設事件」這件事可以從 woocommerce/includes/ 目錄下的 wc-XXXX-functions.php 來追。 有些是用來註冊勾 …
[WordPress] 後台整理術:隱藏不必要的選單控制項目
續前篇 [WordPress] 後台整理術:管理頁面修改權限,這系列自然是不能少了「後台選單」的控制。 更多關於「後台整理」可以點連結查看。 在我預設開站作業的時後,這塊需求主要是使用 Adminimize 這款處理,功能實在強大與方便!搭配使用 User Role Editor 先建立好的使用者權 …
[WooCommerce] 取得訂單當下使用的 Coupon 優惠券折扣碼資訊
WooCommerce 後台可以新增建立很多組優惠折扣碼。而建立的標題就等於該折扣碼。但訂單記錄的時候只有把折扣碼(也就是標題)給寫進訂單裡。 如果要開放顧客也查看這個折扣碼的描述等資訊,就要把折扣碼資訊也在建立訂單當下寫進去訂單裡。避免如果日後同一折扣碼,但有不同操作,又或是刪除了折扣碼查詢不到當 …
[WooCommerce] 支援其他非商品內容類型(Custom Post Type)下單與結帳的功能
這需求應該算很冷門。但剛好最近研究到,能讓安裝了 WooCommerce 外掛的使用者,不只有商品可以加入購物車,還可以讓網站上的文章、頁面,甚至是自定義的內容類型(Custom Post Type, 縮寫為 CPT)也都可以進入結帳流程下單購買,覺得很有意思! WooCommerce 的「商品」有 …
[WooCommerce] 動態商品價格加入購物車結帳的方法(以贊助、捐款功能為例)
這篇筆記的需求其實就是捐款功能。一個儘管有幾種捐款價位讓你選,但你可能還是有自己心裡想填入的捐款數字,所以通常不會把這個數字寫死去完成付款。 用 WooCommerce 的好處是,就算不延伸開發,還是可以使用「可變商品」這個型態的商品來組合出不同數字的捐款選項。 更不用說很多現成的金流外掛也都可以直 …
[PHP] 建立 Zip 樣板(Template)壓縮檔案提供下載的方法
標題感覺籠統,實際上這種使用案例還滿常見,像是 WordPress 有些子主題產生站,只要輸入想要的子主題名字,他就會自動生成一個主題檔案,並提供下載一個「子主題.zip」這樣的功能。 類似的應用不少,概念上就是前端讓人輸入一些變數的值,後端收到後將這些變數帶入系統運作的邏輯中,將數個檔案寫入 Zi …