In questa breve guida voglio proporvi una soluzione che, dopo un pò di ricerche, ho trovato sul web e che vi consentirà di recuperare un prodotto inserito in WooCommerce attraverso il codice univoco (chiamato COD in woocommerce italiano e SKU in quello inglese).
La funzione
Innanzitutto bisogna sapere come è chiamato il campo personalizzato, woocommerce utilizza la denominazione _sku per questo attributo.
Nella query seguente viene selezionato il prodotto che ha come codice identificativo lo stesso passato in input. Potete inserire questa funzione copiando ed incollando nel file functions.php del vostro tema.
function get_product_by_sku( $sku ) {
global $wpdb;
$product_id = $wpdb->get_var( $wpdb->prepare( “SELECT post_id FROM $wpdb->postmeta WHERE meta_key=’_sku’ AND meta_value=’%s’ LIMIT 1”, $sku ) );
if ( $product_id ) return new WC_Product( $product_id );
return null;
}
Ora potete usarla dovunque vogliate nel vostro tema con questo costrutto
$prod=get_product_by_sku(“XXXXXX”);
I valori di ritorno
La funzione produce il ritorno di un prodotto sotto forma di oggetto e, come sicuramente sapete, per accerede alle varie proprietà bisogna utilizzare la “freccettina” ( -> )
Ecco alcuni esempi per il recupero delle informazioni dall’oggetto
echo $prod->post->post_title
echo $prod->post->post_content
echo $prod->post->post_date
Spero che questo piccolo tutorial vi sia d’aiuto!