WordPress/WooCommerce 分類排序

WordPress 分類排序

方法1: 在 wp_terms 資料表新增一個欄位來記錄排序

這個外掛會新增一個 term_order 的欄位來記錄排序

這個外掛也是新增一個 term_order 的欄位來記錄排序

WooCommerce 商品分類排序

WooCommerce 商品分類排序
WooCommerce 可以透過拖曳的方式來改變分類排序

//woocommerce/includes/class-wc-ajax.php
term_ordering
wc_reorder_terms

//woocommerce/includes/wc-term-functions.php
wc_reorder_terms
wc_set_term_order
update_term_meta( $term_id, ‘order’, $index );

woocommerce 是用 order 這個 meta key 來記錄 term 的排序,記錄在 wp_termmeta 資料表

Elementor 收購 Strattic

Elementor 在 6/8 宣佈收購了同樣來自以色列的公司 Strattic。 Strattic 主要提供靜態化 (Static) 和 Headless WordPress 的主機服務。

這幾年在 WordPress 生態圈出現了許多收購,特別是由主機商的收購,各家主機商好像在搞軍備競賽似的,收購了許多大大小小的外掛,來加強自己在生態圈的優勢。例如 Godaddy、WPEngine、Liquidweb 皆收購了不少 WordPress 生態圈的外掛。而這次 Elementor 收購了 Strattic 則是相當有趣地由外掛方發起的收購,也因此引起了大家的好奇心和注意。

而事實上 Elementor 也在今年推出了自家的主機託管服務 Cloud Website,除了提供主機託管服務外,也內建了 Elementor Pro 外掛的授權。相信在未來 Elementor 和 Strattic 會有更多的整合,提供給使用 Elementor 架站的使用者更優質的託管服務和架站體驗。

參考資料:

plugin_loaded v.s plugins_loaded

WordPress 有兩個 action 可以在外掛啟用時執行,分別是 plugin_loadedplugins_loaded,差一個 s ,使用上可別搞錯了。

plugin_loaded

當某一個特定啟用的外掛載入時執行

使用方式:do_action( ‘plugin_loaded’, string $plugin )

plugins_loaded

當所有啟用的外掛載入時執行

使用方式:do_action( ‘plugins_loaded’ )

WooCommerce Order CRUD

$order->update_meta_data();
$order->save();

這邊的 update_meta_data,可能會有點誤解,實際上 update_meta_data 並沒有牽涉任何資料庫的操作,而是將 order 物件內的資料進行更新,最後還是要呼要 $order->save() 來將資料存到資料庫中

https://woocommerce.com/document/developing-using-woocommerce-crud-objects/

https://woocommerce.com/posts/extending-crud-data-stores/

Turbo Admin – 讓你快速切換後台畫面

如果你是 Mac 使用者可能對 Alfred 這款軟體不陌生,Alfred 是一款 Luncher 類的軟體,他讓你可以快速開啟你要的 App 或是執行指令。而 Turbo Admin 的功用,有點類似 Alfred,他讓你可以快速切換 WordPress 後台介面,過去筆者曾使用過類似的外掛,例如 Jarvis。不過 Turbo Admin 用起來體驗更好了。

安裝 Turbo Admin

安裝好之後,不需要特別設定,預設的快捷鍵如下:
  • Windows: Ctrl-Alt-Shift-P
  • Mac: Cmd-Alt-Shift-P

使用快捷鍵你就可以叫出下面的命令視窗,你可以輸入你要跳到的頁面或選單

修改快捷鍵與啟用其他功能

如果你不習慣預設的快捷鍵,你可以在 [使用者]->[個人資料] 中修改快捷鍵,但要注意不要和其他的瀏覽器快捷鍵衝突。在設定頁面中也有一些其他的功能,你可以嘗試看看。

搜尋文章內容

除了跳到特定選單或頁面外,Turbo Admin 也會搜尋文章內容,不過實際測試搜尋的結果並不是很準確,有機會再看看他是怎麼實作的。

Turbo Admin 瀏覽器外掛

Turbo Admin 的 WordPress 外掛提供了基本的搜尋功能,除此之外開發者也另外提供了瀏覽器擴充,包含了更多的進階功能,而且讓你可以不用安裝 WordPress 外掛,就可以使用 Turbo Admin 的功能,聽起來是不是有點神奇。

免費方案可以在 3 個網站上使用,如果你真的覺得這個瀏覽器擴充對你有幫助,可以用美金 35 元的價格購買授權,來解除三個網站的使用限制,這是一次性的費用,且可以啟用在 6 個瀏覽器上,應該是很夠用。不過日後如果有大幅更新的版本還是需要另外付費。

WordPress 預設 sitemap XML

WordPress 從 5.5 開始內建 sitemap,雖然功能比較陽春,不過如果你不想安裝 SEO 外掛,那麼內建的 sitemap 也還算夠用。

預設的 WordPress sitemap 的路徑為 https://{yoursite.com}/wp-sitemap.xml

從上圖中你可以看到,預設的 sitemap.xml 中包含了文章、頁面、分類和標籤以及使用者的內容。

另外要注意的是,如果你的網站有阻擋搜尋引擎,那麼當你瀏覽 wp-sitemap.xml 這個網址時,就會顯示 404

[WooCommerce] 如何移除付款方式 icon

許多使用的金流外掛都會額外顯示該付款方式的 icon,不過有些外掛並沒有提供關閉的功能。不過還是可以透過 WooCommerce 內建的 filter 來移除 icon。

例如我們想要移除 Ry WooCommerce Tools 的綠界超商代碼付款,可以使用 woocommerce_gateway_icon 這個 filter。這個 filter 有兩個參數,一個是 $icon,是原本 icon 的網址,另一個是 $id,代表著付款方式的 id,每一個付款方式的 id 皆不同。在下面的例子中,判斷當 $id 等於 ry_ecpay_cvs 時,就回傳空字串,這樣就不會顯示付款方式的 icon 了。

function lwd_remove_ecpay_icon( $icon, $id ) {

    if ( $id === 'ry_ecpay_cvs' ){ 
	 return ''; 
    } else { 
        return $icon; 
    } 

} 

add_filter( 'woocommerce_gateway_icon', 'lwd_remove_ecpay_icon', 10, 2 );

至於要如何知道付款方式的 id 呢?首先你可以檢視外掛的原始程式碼,每一個付款方式的實作都必須要指定 id ,這個 id 是不能重複的。你可以在 ry-woocommerce-tools/woocommerce/gateways/ecpay/includes/ecpay-gateway-cvs.php 中找到 $this->id,這個 id 就是該付款方式的 id。

若你不知道如何檢視程式碼,也可以透過瀏覽器的開發者工具來檢視網頁的原始碼。在結帳頁面開啟 chrome 的開發者工具,並使用檢視工具來檢視元件,點擊檢視工具後,點擊你要檢視的付款方式,底下就會跳到該付款方式的原始碼。你可以看到每一個付款方式都會帶有一個 CSS class,例如 payment_method_ry_ecpay_cvs,其中ry_ecpay_cvs 就是該付款方式的 id。