1. Home
  2. Amministrazione IT, Gestione Server e Sviluppo Codice
  3. Modifica ordinamento di default (WooCommerce)

Modifica ordinamento di default (WooCommerce)

Per creare un nuovo metodo di ordinamento, suddividiamo il processo in due parti:

  1. Etichettatura del nuovo metodo
  2. Creazione dell’algoritmo

Nel primo caso basta usare i due filtri:

add_filter( 'woocommerce_default_catalog_orderby_options', 'function_1');
add_filter( 'woocommerce_catalog_orderby', 'function_1' );

dove function_1 ha come unico parametri $sortby che contiene i precedenti metodi di ordinamento.

function function_1 ( $sortby ) {
    $sortby['departure'] = 'Data di partenza più vicina';
    return $sortby;
}

Nella seconda fase invece andiamo a stilare il vero e proprio algoritmo di ordinamento. Usiamo il filtro:

add_filter( 'woocommerce_get_catalog_ordering_args', 'function_1_args');

La logica dell’algoritmo va all’interno della funzione, che ha un solo parametro $sort_args che contiene gli algoritmi già esistenti

function function_1_args( $sort_args ) {
  	
  	$orderby_value = isset( $_GET['orderby'] ) ? woocommerce_clean(   $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) );
  	
  	$today = date("Ymd");
  	
    if ( 'departure' == $orderby_value ) {
    	
    	$sort_args = array (
    		'orderby' => 'meta_value',
    		'order' => 'ASC',
    		'meta_key' => 'pacchetto_turistico_data_partenza'
    	);
    }
  
    return $sort_args;
}

 

Ultimo aggiornamento il Maggio 11, 2020

Questo articolo è stato utile?

Articoli correlati