本篇文章更新時間:2019/10/07
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知。
一介資男的 LINE 社群開站囉!歡迎入群聊聊~
如果本站內容對你有幫助,歡迎使用 BFX Pay 加密貨幣 或 新台幣 贊助支持。
WooCommerce 這款外掛不只大家常聽到的電商銷售功能,他完整的商品架構要作為更簡單的像是型錄網站或詢價網都沒問題,有些甚至還跳脫了「商品」的範圍呢!
但,如果是其他用途,那不僅是前端的欄位有可能不同,後端提供給使用者修改操作的也會對應不同。
例如:既然沒有要賣,那為何觀看的列表裡會放置「價格」與「庫存」呢?
在商品管理介面中可以透過右上角的「顯示項目設定」功能來選取不必要看到的欄位,但使用者預設也不會去設定,且準備好的後台也不該是使用者來自行取決,所以這時候程式化調整預設顯示欄位就很重要!
在這邊基本上不會去動到編輯商品內頁時看到的欄位,填寫時避開即可。 真會修改到的區塊是「功能方塊」部分,整區塊隱藏或移除,操作程式碼如文末提供。
調整這類型需求是可以透過外掛處理,但同時也要瞭解到網站使用越多的外掛來處理,效能也會越慢。
這類型外掛可以參考: Admin Columns 來管理後台欄位,範圍遍及後台大部分項目,支援度很廣,也因此相對厚重。
而針對本篇主題 WooCommerce 商品列表欄位的程式碼片段如下:
function mxp_wc_product_columns_filter($columns) {
$user = wp_get_current_user();
//指定遮蔽的使用者角色
$roles = array('role1', 'role2', 'role3');
foreach ($roles as $key => $role) {
if (in_array($role, (array) $user->roles)) {
unset($columns['sku']);
unset($columns['is_in_stock']);
unset($columns['price']);
unset($columns['product_tag']);
unset($columns['featured']);
return $columns;
}
}
return $columns;
}
add_filter('manage_edit-product_columns', 'mxp_wc_product_columns_filter', 10, 1);
這段程式隱藏了「貨號」、「庫存」、「價格」、「產品標籤」與「特色」等欄位,且可以針對某些使用者角色來處理,不用全站套用,保留最高管理員在使用的系統原貌,日後除錯也比較方便。
其他整理後臺的文章:
這系列不定時想到就寫,不一定每篇都有同步更新這列表哦XD
功能方塊的移除方式
function mxp_remove_meta_boxes() {
$user = wp_get_current_user();
//指定遮蔽的使用者角色
$roles = array('role1', 'role2', 'role3');
foreach ($roles as $key => $role) {
if (in_array($role, (array) $user->roles)) {
remove_meta_box('commentsdiv', 'product', 'normal');
remove_meta_box('mymetabox_xxx_0', 'product', 'normal');
remove_meta_box('woocommerce-product-data', 'product', 'normal');
remove_meta_box('tagsdiv-product_tag', 'product', 'side');
remove_meta_box('woocommerce-product-images', 'product', 'side');
}
}
}
add_action('add_meta_boxes', 'mxp_remove_meta_boxes', 100);
移除「評論」、「某個外掛的功能」、「商品資料」、「商品標籤」與「商品圖庫」等區塊。
[顯示項目設定] 翻的真好 XDD
agreed!