Rigenera transitori definiti $product or $Oggetti variazione in WooCommerce
Mi chiedo davvero se esiste un modo per rigenerare tutti i transitori nativi per un dato prodotto o oggetto variazione.
Sono nel caso in cui mostro prezzi dinamici e va tutto bene. Ma ho bisogno di aggiornare i transitori wc_prices_{id}
in modo che tenga conto di questo nuovo prezzo personalizzato. In caso contrario, il caricamento della prima pagina è orribile (specialmente nella pagina del negozio che mostra più prodotti alla volta).
Sto aggancio in woocommerce_product_variation_get_price
, woocommerce_product_variation_get_regular_price
, woocommerce_variation_prices_price
e woocommerce_variation_prices_regular_price
(in breve, questa modifica al volo OGNI SINGOLO PREZZO di una pagina, e se è un genitore che contiene i bambini, modificare i prezzi per i bambini troppo al fine di calcolare i prezzi variano (min / max) del genitore).
Scavando nel codice Woocommerce, ho scoperto quale metodo genera i prezzi transitori: si read_price_data()
trova in wp-content/plugins/woocommerce/includes/data-stores/class-wc-product-variable-data-store-cpt.php
. Ma non riesco a trovare un modo per chiamarlo il mio script Cron Job per chiamarlo su un prodotto o un oggetto variante.
Siete a conoscenza della soluzione per questo compito?
Cordiali saluti.
Risposte
I 3 filtri hook coinvolti nelle variazioni dei prezzi memorizzati nella cache sono:
woocommerce_variation_prices_price
woocommerce_variation_prices_regular_price
woocommerce_variation_prices_sale_price
Per rigenerare i prezzi memorizzati nella cache, puoi utilizzare su questi hook:
wc_delete_product_transients( $variation->get_id() );
Ma rallenterà le prestazioni del tuo sito web.
Introdotto a partire da Woocommerce 3, il
woocommerce_get_variation_prices_hash
filtro hook consentirà di aggiornare le variazioni dei prezzi memorizzati nella cache in modo molto più efficiente, senza eliminare i transienti correlati ogni volta che tali hook vengono attivati.
Documentazione e thread correlato:
- Memorizzazione nella cache e determinazione del prezzo dinamico: modifiche imminenti al metodo get_variation_prices
- Modifica i prezzi dei prodotti tramite un gancio in WooCommerce 3
- Tutti i thread correlati utilizzando il woocommerce_get_variation_prices_hashfiltro hook