2017-02-22 5 views
0

У меня есть магазин WooCommerce, созданный с продуктами в нескольких категориях, и с помощью плагина Print Invoice & Packing List для создания списков упаковок для заказов.WooCommerce Печать счетов-фактур и списков упаковки - Изменить категорию

Плагин заказывает продукты по умолчанию в зависимости от первой категории, в которой они перечислены, в алфавитном порядке.

Я пытаюсь установить плагин, чтобы игнорировать предустановленный список категорий по идентификатору, поэтому все продукты будут отображаться, но перечислены только в категории, которую я допустил вместо первой категории в алфавитном порядке.

Я прочитал через 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); 

Цените любую помощь, чтобы узнать, как определить запись категории в этой функции.

ответ

0

я думаю, что вы могли бы попробовать это, раздел документа Фильтры из Вашей ссылки документации:

wc_pip_packing_list_exclude_item

Params: $ исключает, $ продукта, $ пункт, $ item_data Возврат: (BOOL) Фильтры если элемент заказа должен быть исключен из упаковочного листа.

В вашей функции фильтра вы можете проверить категорию с $product или, по крайней мере, получить соответствующую информацию для запроса. Тогда вы просто вернетесь true или false, следующий за футляром

+0

Спасибо Каддату, я не был достаточно ясен в своем вопросе, поэтому отредактировал его. Это исключило бы элемент целиком, но я хочу, чтобы элемент все еще был видимым, только по одной из категорий, которые я не игнорировал. –

+0

ОК, я посмотрю, когда у меня есть немного времени, я не нашел фильтр, который вы используете в ссылке на документацию, является $ group_items полным упорядоченным списком отображаемых элементов? – Kaddath

+0

Насколько я знаю, $ group_items должен возвращать список элементов, да. Во фрагменте я просто заказываю их по порядку id, который я понимаю, и этот фрагмент из модулей SkyVerge на GitHub и был самым близким, которого я мог получить. –

Смежные вопросы