WooCommerce PDF Invoices, Packing Slip, Delivery Notes, and Shipping Label plugin allows you to print and generate Pick List for several orders by grouping them by order or category. However, pick list being a list of items of orders which is specifically used by packers in a store, it would be convenient to have customer’s name also added into it for making it easier to identify the orders/products easily.
On placing the following code snippet into the active child theme’s function.php, you can print the customer’s name into the picklist. Please ensure that the Group by order option is enabled from settings.
You can see that the name of the customer is also printed in the Pick List as shown below:

- Was this article helpful?
- Yes, thanks!Not really
Comments (14)
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;
}