Woocommerce – Rimuovere i prodotti esauriti dai prodotti correlati

Plugins Programmazione Wordpress
0

Osservando di recente un cliente WooCommerce che ha scelto di visualizzare (anche se non in modo prominente) i prodotti esauriti nel proprio negozio, a volte abbiamo visto quei prodotti OOS (esauriti) venivano visualizzati anche nei Prodotti correlati. Poiché c’erano 4 slot disponibili, questo a volte creava un’esperienza di acquisto indesiderabile: perché qualcuno dovrebbe voler vedere 3 o 4 prodotti esauriti come opzioni “alternative” ?!
Nessuno ovviamente lo farebbe!

Ci sono diversi snippet e argomenti di supporto online su come escludere i prodotti esauriti dai prodotti correlati in WooCommerce. La maggior parte di questi sono obsoleti ora, non funzionano o si comportano in modo non proprio corretto. Il metodo più semplice e affidabile per il 2021 (ultime versioni di WordPress e WooCommerce) è contenuto nel seguente codice:

add_filter( 'woocommerce_related_products', 'exclude_oos_related_products', 10, 3 );
function exclude_oos_related_products( $related_posts, $product_id, $args ){
$out_of_stock_product_ids = (array) wc_get_products( array(
'status'       => 'publish',
'limit'        => -1,
'stock_status' => 'outofstock',
'return'       => 'ids',
) );
$exclude_ids = $out_of_stock_product_ids;
return array_diff( $related_posts, $exclude_ids );
}

Questo codice dovrebbe venir incorporato nel file functions.php del tuo tema figlio attivo, o meglio, in un plug-in di custom o ancora meglio in una configurazione di plug-in personalizzato per contenere tale codice (in modo da poterlo disattivare se non funziona). Non aggiornare mai direttamente un tema principale o un plug-in. Puoi vedere cosa fa: Inizialmente, filtra la query woocommerce_related_posts e aggiunge la nostra nuova funzione exclude_oos_related_products
All’interno di quella funzione, otteniamo un elenco di tutti gli ID prodotto esauriti e lo impostiamo in una variabile chiamata $exclude_ids
Infine restituisce la differenza tra i post correlati senza questi ID di esclusione per sovrascrivere il set originale di prodotti correlati – meno gli ID esclusi (esauriti) Fatto!

Per eventuali problemi, lascia un commento qui sotto.

Facebook Comments
0
Summary
Woocommerce - Rimuovere i prodotti esauriti dai prodotti correlati
Article Name
Woocommerce - Rimuovere i prodotti esauriti dai prodotti correlati
Description
Osservando di recente un cliente WooCommerce che ha scelto di visualizzare (anche se non in modo prominente) i prodotti esauriti nel proprio negozio, a volte abbiamo visto quei prodotti OOS (esauriti) venivano visualizzati anche nei Prodotti correlati. Poiché c'erano 4 slot disponibili, questo a volte creava un'esperienza di acquisto indesiderabile: perché qualcuno dovrebbe voler vedere 3 o 4 prodotti esauriti come opzioni "alternative" ?! Nessuno ovviamente lo farebbe!
Author
correlati esauriti out of stock snippets wordpress

Lascia un commento

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

Related Posts