The picklist displays the products ordered by customers. WebToffee’s WooCommerce Picklists Plugin generates picklists for orders by classifying them based on order or categories. The plugin also helps to add customer names to WooCommerce picklists. This will help the packers/sellers to easily identify the products listed by a particular customer. Here are the steps involved:
- From the WordPress dashboard, navigate to Invoice/Packing > Picklist.
- Under the General tab, head to the Product display section.
- Within the Product display section, enable Group products by ‘Order’ option.
- Click on Update Settings to save the changes.
- Add the below-mentioned code to the active child theme’s functions.php file.
- If the active theme doesn’t have a functions.php file, then use a third-party code snippet plugin for the addition.
- You can click on the link below to learn how to add snippets using a third-party plugin.
> Adding a Custom Code Snippet Using a Third-Party Plugin
The following image shows a sample picklist with customer names added to it.
Sasiwimol Chanamit
November 3, 2021
Hello,
would it we possible to show the customer user name instead of the billing name ?
Thanks a lot
Wee
Mike
November 30, 2021
Hi there,
Since it is a custom requirement kindly raise a ticket via this link.
troy
June 9, 2021
Just wondering if I can get the Users Name at the top of the Picking List with (Groups items by category for selected orders )enabled
Mark
June 10, 2021
Hi Troy,
A picklist is a consolidated list of products from multiple orders. It won’t be logical to implement a customer name at the top since there would be items from multiple orders from different customers in the list. That is why the code snippet is implemented such that it adds the customer name to the table.
William Matthynssens
May 31, 2021
Hi there, when I generate the picklist the orders aren’t chronological, is there a filter I can use to order the picklist on orderdate/ordernumber? As ordering on product name or SKU isn’t really good when taking care of large amounts of orders. I would like to work chronologically.
Thanks in advance!
Mark
June 3, 2021
Hi William,
You can achieve that by using a filter. Please copy the code snippet here to your active theme’s functions.php
Fabian
February 8, 2021
Hi, as suggested in your Plugin I was using the filter wf_pklist_alter_shipping_method to add the shipping adress to the picklist. But unfortunatly nothingh happens. Does that work only at other documents?
Fabian Krenzler
January 27, 2021
Hi, I am missing the customer note from an order in the complete plugin. Can I add it to a picklist somehow by using a filter? Best Fabian
Mark
January 30, 2021
Hi Fabian,
You can use below code to add customer note to filter. Make sure to enable group by order option under the picklist settings.
add_filter('wf_pklist_alter_order_grouping_row_text','wf_pklist_add_customer_note_picklist',10, 3);
function wf_pklist_add_customer_note_picklist($order_info_arr, $order, $template_type)
{
if($template_type=='picklist')
{
$customer_note=$order->get_customer_note();
if(!empty($customer_note))
{
$order_info_arr['customer_note']=__('Customer Note : ').$customer_note;
}
}
return $order_info_arr;
}
Fabian Krenzler
February 2, 2021
Thanks a lot. This works pretty well.
Cheri
December 14, 2020
When generating a pick list grouped by category, is it possible to arrange the categories and the products in alphabetical order?
Mark
December 16, 2020
Hi.
Sort based SKU/Name option is available in the latest version of the plugin. You can enable it from picklist settings page.
Diponker Roy Dev
November 18, 2020
I want to show product per item sale price in pick list. How can I do it?
Mark
November 20, 2020
Hi,
Please use the below filter. Copy the code snippets to your active theme’s functions.php to show unit price of products in the picklist.
add_filter('wf_pklist_alter_product_table_head','wt_pklist_add_price_column',10,3);
function wt_pklist_add_price_column($columns_list_arr, $template_type, $order)
{
if($template_type=='picklist')
{
$out=array();
foreach($columns_list_arr as $key=>$vl)
{
$out[$key]=$vl;
if($key=='total_weight' || $key=='-total_weight')
{
$out['price']=''.__('Price').'';
}
}
$columns_list_arr=$out;
}
return $columns_list_arr;
}
add_filter('wf_pklist_alter_package_product_table_columns','wt_pklist_add_price_column_in_picklist',10,5);
function wt_pklist_add_price_column_in_picklist($product_row_columns, $template_type, $_product, $item, $order)
{
if($template_type=='picklist')
{
$order=$item['order'];
$wc_version=WC()->version;
$order_id=$wc_versionid : $order->get_id();
$user_currency=get_post_meta($order_id,'_order_currency',true);
$out=array();
foreach($product_row_columns as $key=>$vl)
{
$out[$key]=$vl;
if($key=='price')
{
$price=wc_price($item['price'], array('currency'=>$user_currency));
$out['price']=$price;
}
}
$product_row_columns=$out;
}
return $product_row_columns;
}