woocommerce_shop_order_search_fields

Searches on meta data can be slow - this lets you choose what fields to search.

Description

apply_filters( 'woocommerce_shop_order_search_fields', (callback) $array ); 

3.0.0 added _billing_address and _shipping_address meta which contains all address data to make this faster. This however won't work on older orders unless updated, so search a few others (expand this using the filter if needed).

Parameters (1)

0. $array (callback) => array( '_billing_address_index', '_shipping_address_index', '_billing_last_name', '_billing_email', )
The array.

Usage

To run the hook, copy the example below.
  1. $array = apply_filters( 'woocommerce_shop_order_search_fields', $array ); 
  2.  
  3. if ( !empty( $array ) ) { 
  4.  
  5. // everything has led up to this point... 
  6.  
  7.  
The following example is for adding a hook callback.
  1. // define the woocommerce_shop_order_search_fields callback 
  2. function filter_woocommerce_shop_order_search_fields( $array ) { 
  3. // make filter magic happen here... 
  4. return $array
  5. }; 
  6.  
  7. // add the filter 
  8. add_filter( 'woocommerce_shop_order_search_fields', 'filter_woocommerce_shop_order_search_fields', 10, 1 ); 
To remove a hook callback, use the example below.
  1. // remove the filter 
  2. remove_filter( 'woocommerce_shop_order_search_fields', 'filter_woocommerce_shop_order_search_fields', 10, 1 ); 

Defined (1)

The filter is defined in the following location(s).

/includes/data-stores/class-wc-order-data-store-cpt.php  
  1. $search_fields = array_map( 'wc_clean', apply_filters( 'woocommerce_shop_order_search_fields', array(