這方法大概對網站經營者來說很無感,但對我這種時常開站建置 WooCommerec 網站的人很有幫助。 因為… WooCommerce 後台設定收件人的地方要過好幾個畫面才能完成這些設定,有夠擾人! 預設是使用網站管理員信箱來處理,但通常我們幫客戶建置網站最後也是客戶要使用這些功能,所以一定會需要 …
[WordPress] 登出網站閒置使用者的方法
剛好實作一個會員網站有想到這個需求。在思考前後端誰處理這問題時,看到了前端解法,直覺就是最佳解。 畢竟透過後端來去紀錄上一次的請求時間來去算閒置狀態太過於消耗資源。 這邊先貼上一個簡單的範例: function mxp_ajax_logout_inactive_user() { if (!is_us …
[WooCommerce] 數位商品結帳收到款項後能不能直接把訂單狀態改完成?
先說結論:可以! 但原本我的作法就是去設計一個方法,透過 woocommerce_order_status_changed 這勾點來判斷。 // 如果到「處理中」的狀態,就觸發自動完成只有虛擬商品訂單狀態切換的檢查 function mxp_check_order_status_completed( …
[WooCommerce] 移除或取代內建預設事件的方法
WooCommerce 真的是一套很強的 WordPress 電商系統外掛。學習的過程也會發現其實設計複雜度不亞於一套 WordPress 核心。 「內建預設事件」這件事可以從 woocommerce/includes/ 目錄下的 wc-XXXX-functions.php 來追。 有些是用來註冊勾 …
[WooCommerce] 客製化新商品類型,實現開發特殊購物網站的方法
剛好最近的案件有這個深度客製化需求,繼承 WooCommerce 預設的「商品」並改寫成「OO商品」的做法。不同以往只是單純使用這套外掛內建功能來販售,而是整合這套電商外掛的各部分功能模組,來實現客戶端對消費體驗的設計。 是怎樣的設計就不多寫了,主要會分下面四個部分來拆解改造的主軸: 內容目錄1 繼 …
[WooCommerce] 給商品增加客製化分類選項的方法
這需求不算少見,像是商品來源廠商、商品某些專有品牌屬性等。內建的功能算滿方便了,但總有客製化的需求存在,剛好這次就是「廠商」。 // 註冊廠商分類 Taxonomy function mxp_register_vendor_taxonomy() { $labels = [ "name&qu …
[WordPress] 後台整理術:隱藏不必要的選單控制項目
續前篇 [WordPress] 後台整理術:管理頁面修改權限,這系列自然是不能少了「後台選單」的控制。 更多關於「後台整理」可以點連結查看。 在我預設開站作業的時後,這塊需求主要是使用 Adminimize 這款處理,功能實在強大與方便!搭配使用 User Role Editor 先建立好的使用者權 …
[Mac] 比對兩個目錄差異的幾個方法 – rsync, diff 與 Meld
最近因為做一個 WordPress 專案,把 wp-content 目錄整個做 Git 版本控制,但不知道為啥沒把一些外掛的目錄給容納進去。 一開始就順手補上外掛資料後就沒事,直到最近合併版本的時後出問題,才想說要來認真解決這問題! 第一個問題就是:「那本機與線上端的版本差在哪?」 然後:「是為什麼 …
[WordPress] 強迫登出使用者的方法 – WP_Session_Tokens
剛好最近實作一個會員網站的功能,有一些購買行為發生後會賦予的權限新增。 但如果是登入狀態下的使用者沒有去「重新載入」一次設定就不會套用上,那使用體驗就不正確。 有時候也不一定有合適的勾點來讓程式切入作動。 那重置使用者狀態的方式就可以參考:讓他登出,重新登入來滿足觸發條件! 有個常見的例子就是換帳號 …
[SSH] 設定 Agent Forwarding 機制遠端連線的方法
如果你有下面這樣其中一個情境,本篇筆記就很適合你! 管理很多 Linux 伺服器主機 會在非自己主機上部署 Git 版控專案 不想在多人協作的 VPN 主機上留下自己的金鑰 簡單來說這個「Agent Forwarding」代理轉送功能,就是可以幫你把本機端(通常就是指你常用的個人電腦)使用的 SSH …