Woocommerce – Aggiungere un nuovo filtro prodotti in admin

Plugins Programmazione Wordpress
0

Esiste un sistema per creare delle caselle di filtro extra nella sezione admin del tuo woocommerce

In questo post andremo a vedere il sistema più efficace per creare nuovi filtri per i tuoi prodotti.

function my_custom_product_filters( $post_type ) {
$value1 = '';
$value2 = '';
// Check if filter has been applied already so we can adjust the input element accordingly
if( isset( $_GET['my_filter'] ) ) {
switch( $_GET['my_filter'] ) {
// We will add the "selected" attribute to the appropriate <option> if the filter has already been applied
case 'value1':
$value1 = ' selected';
break;
case 'value2':
$value2 = ' selected';
break;
}
}
// Check this is the products screen
if( $post_type == 'product' ) {
// Add your filter input here. Make sure the input name matches the $_GET value you are checking above.
echo '<select name="my_filter">';
echo '<option value>Show all value types</option>';
echo '<option value="value1"' . $value1 . '>First value</option>';
echo '<option value="value2"' . $value2 . '>Second value</option>';
echo '</select>';
}
}
add_action( 'restrict_manage_posts', 'my_custom_product_filters' );

Per far funzionare effettivamente i filtri, dobbiamo aggiungere alcuni parametri extra a WP_Query quando viene caricata la pagina di amministrazione dei “prodotti”. Per fare ciò, dobbiamo usare l’azione WordPress pre_get_posts in questo modo:

function apply_my_custom_product_filters( $query ) {
global $pagenow;
// Ensure it is an edit.php admin page, the filter exists and has a value, and that it's the products page
if ( $query->is_admin && $pagenow == 'edit.php' && isset( $_GET['my_filter'] ) && $_GET['my_filter'] != '' && $_GET['post_type'] == 'product' ) {
// Create meta query array and add to WP_Query
$meta_key_query = array(
array(
'key'     => '_my_meta_value',
'value'   => esc_attr( $_GET['my_filter'] ),
)
);
$query->set( 'meta_query', $meta_key_query );
}
}
add_action( 'pre_get_posts', 'apply_my_custom_product_filters' );

Questa è la base dei filtri personalizzati e funziona su qualsiasi tipo di post (inclusi shop_orders di WooCommerce). Puoi anche impostare il valore di “confronto” per la meta query (e qualsiasi altra opzione disponibile), o modificare diversi aspetti di WP_Query, se lo desideri.

Facebook Comments
0
Summary
Woocommerce - Aggiungere un nuovo filtro prodotti in admin
Article Name
Woocommerce - Aggiungere un nuovo filtro prodotti in admin
Description
Questa è la base dei filtri personalizzati e funziona su qualsiasi tipo di post (inclusi shop_orders di WooCommerce). Puoi anche impostare il valore di "confronto" per la meta query (e qualsiasi altra opzione disponibile), o modificare diversi aspetti di WP_Query, se lo desideri.
Author
filtri woocommerce wordpress

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Related Posts