Come ottenere il prezzo originale del prodotto in WooCommerce?

22 mar 2016, 18:15:13
Visualizzazioni: 23.5K
Voti: 3

Ho creato il codice per scorrere l'elenco dei prodotti e visualizzare il prezzo

  $args = array( 'post_type' => 'product', 'posts_per_page' => 100, 'product_cat' => 'hot-deals');
          $loop = new WP_Query( $args );
          while ( $loop->have_posts() ) : $loop->the_post(); 

global $product; 


$xml .= '<Original_price>' . $product->get_display_price( $product->get_regular_price() ) . '</Original_price>';
$xml .= '<Discount_price>' . $product->get_display_price() . '</Discount_price>';

echo $product->get_price_html();

endwhile;
wp_reset_query();

get_price_html() funziona perfettamente e visualizza il prezzo in questo modo:

Da: $ 621 $ 559

Tuttavia, vorrei ottenere il prezzo separatamente

Posso ottenere il prezzo scontato con

$product->get_display_price()

Il problema è che non riesco a ottenere il prezzo originale,

Ho provato $product->get_regular_price(), che non restituisce nulla

E ho provato $product->get_display_price( $product->get_regular_price() ), che restituisce il prezzo scontato

Quindi come posso ottenere il prezzo originale? Grazie mille.

0
Tutte le risposte alla domanda 2
0

Sono abbastanza sicuro che il problema sia che WP_Query restituisce oggetti post, che non sono identici agli oggetti prodotto di Woocommerce. Mentre cerchi di ottenere i dati del prodotto recuperando il relativo globale, questo non funzionerà, soprattutto perché la query che stai eseguendo non ha alcun effetto su quel globale. Quello che probabilmente farei è, in primo luogo, eseguire la query con il parametro fields impostato su ids. In secondo luogo, quando cicli sull'array di ID restituiti, ti suggerirei di ottenere l'oggetto prodotto con wc_get_product(), che dovrebbe fornirti tutte le informazioni di cui hai bisogno.


Nota: Ho risposto per chiarire la differenza tra gli oggetti restituiti da WordPress e quelli di Woocommerce. E per precisare, sebbene product sia un CPT (Custom Post Type), non è necessariamente utilizzabile in modo ottimale con la query standard di WP. C'è però un forte argomento a favore del fatto che la tua domanda sia fuori tema, perché riguarda un plugin di terze parti. Ti invito a consultare il nostro centro assistenza per saperne di più sulle linee guida del nostro sito.

22 mar 2016 19:28:06
1
-1

Per ottenere il prezzo regolare all'interno del loop puoi utilizzare:

get_post_meta( get_the_ID(), '_regular_price', true);

E per il prezzo scontato puoi usare:

get_post_meta( get_the_ID(), '_sale_price', true);
26 ott 2017 19:42:15
Commenti

Cosa succede se un plugin ha agganciato woocommerce_get_price_html?

danyo danyo
6 dic 2017 13:09:38