本篇文章更新時間: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);

這段程式隱藏了「貨號」、「庫存」、「價格」、「產品標籤」與「特色」等欄位,且可以針對某些使用者角色來處理,不用全站套用,保留最高管理員在使用的系統原貌,日後除錯也比較方便。

其他整理後臺的文章:

  1. [WordPress] 後台整理術:管理頁面修改權限
  2. [WordPress] 後台整理術:管理通知訊息

這系列不定時想到就寫,不一定每篇都有同步更新這列表哦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);

移除「評論」、「某個外掛的功能」、「商品資料」、「商品標籤」與「商品圖庫」等區塊。


Share:

作者: Chun

資訊愛好人士。主張「人人都該為了偷懶而進步」。期許自己成為斜槓到變進度條 100% 的年輕人。[///////////____36%_________]

參與討論

2 則留言

發佈留言

發佈回覆給「Alex Lion」的留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


文章
Filter
Apply Filters
Mastodon