2017-02-22 7 views
0

私はWooCommerceストアをいくつかのカテゴリの製品で設定し、注文のパッキングリストを生成するためにPrint Invoice &パッキングリストプラグインを使用しています。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); 

がこの機能に明細カテゴリを定義する方法を識別するための任意の助けに感謝します。

答えて

0

は、私はあなたがあなたのドキュメントのリンクから、このセクションのドキュメントのフィルタを試みることができると思う:

wc_pip_packing_list_exclude_item

のparams:$は除外し、$製品、$アイテム、$ item_data リターン:(ブール値) IFフィルタ注文項目は梱包リストから除外する必要があります。

フィルタ機能では、$productからカテゴリをテストするか、少なくともクエリに関連する情報を取得する必要があります。その後、あなたはちょうどtrueまたはfalseケースに続いて返す

+0

ありがとうKaddath、私は私の質問で十分ではなかったので、それを編集しました。それはアイテムを完全に除外しますが、無視していないカテゴリの1つのみの下でアイテムを表示したがっています。 –

+0

私は少し時間がありましたが、ドキュメントリンクで使用しているフィルタが見つかりませんでした。$ group_itemsは表示されているアイテムの完全な順序付きリストですか? – Kaddath

+0

私が知っている限り、$ group_itemsは項目のリストを返すべきです、はい。スニペットでは、私が理解しているオーダーIDで注文するだけです。そのスニペットはGitHubのSkyVergeモジュールからのもので、私が得ることができる最も近いものでした。 –

関連する問題