我有一個WooCommerce商店,設置了多個類別的產品,並使用打印發票&裝箱單插件來生成訂單的裝箱單。WooCommerce打印發票和裝箱單 - 更改類別
該插件默認情況下會根據它們列出的第一個類別按字母順序訂購產品。
我試圖設置插件忽略ID的預設列表類別,所以所有產品仍然會顯示,但只列在我允許的類別下,而不是按字母順序排列的第一類。
我讀過通過Invoice & Packing List dev reference搶下SkyVerge snippet並創建了一個自定義插件,這將完全禁用類別,但不能爲我的生活出了WooCommerce鉤子應該如何工作忽略某些類別。
這是我在此刻,它只是從裝箱單中刪除類別定製plguin:
if (! defined('ABSPATH'))
add_filter('wc_pip_packing_list_group_items_by_category', '__return_false');
function sv_wc_pip_packing_list_grouping($group_items, $order_id, $document_type) {
if ('pick-list' !== $document_type) {
return $group_items;
}
$order = wc_get_order($order_id);
if (! $order->is_paid()) {
return false;
}
return $group_items;
}
add_filter('wc_pip_packing_list_group_items_by_category', 'sv_wc_pip_packing_list_grouping', 10, 3);
感謝所有幫助確定如何在這個函數中定義的項目類別。
謝謝Kaddath,我不清楚在我的問題,所以編輯它。這將完全排除一個項目,但我希望該項目仍然可見,只是在我沒有忽略的其中一個類別下。 –
好吧,當我有一點時間,我還沒有找到你在文檔鏈接中使用的過濾器時,我會看看是$ group_items顯示的項目的完整有序列表? – Kaddath
據我所知,$ group_items應該返回項目列表,是的。在我已經知道的代碼片段中,我只是通過訂單ID來訂購它,而這個代碼片段來自GitHub上的SkyVerge模塊,並且是我可以獲得的最接近的模塊。 –