Ottenere il prezzo di un prodotto WooCommerce tramite ID
Ho creato uno shortcode per ottenere il titolo, l'immagine e il prezzo del prodotto. Sto ottenendo correttamente tutti i dati come titolo, link e immagine ma non riesco ad ottenere il prezzo. Il problema è
add_shortcode('product_data','custom_product_function');
function custom_product_function($atts)
{
$post_id = $atts['id'];
$title = get_the_title($post_id);
$link = get_the_permalink($post_id);
$price = get_the_price($post_id); // Questa funzione non è corretta
$image = get_the_post_thumbnail($post_id, 'thumbnail');
$data ='<div class="releated-products wow fadeInUp"><a href="'.$link.'">'.$image.'<h5>'.$title.'</h5><h6>'.$price.'</h6></a></div>';
return $data;
}
$price = get_the_price($post_id);
Immagino che questa funzione non sia corretta
Qualche idea su come ottenere il prezzo ora.
Grazie

Puoi creare un oggetto prodotto utilizzando la seguente funzione:
$product = wc_get_product( $post_id );
E dopo potrai accedere a tutti i dati del prodotto. Tutti i metodi disponibili possono essere trovati qui, ma quelli di cui avrai bisogno sono:
$product->get_regular_price();
$product->get_sale_price();
$product->get_price();

grazie per la risposta. ho già visto quello. sto controllando di nuovo. ma per farlo devo modificare la mia funzione shortcode in modo diverso. ho ragione? c'è un modo per farlo all'interno del mio shortcode?

Basta aggiungere $product = wc_get_product( $post_id );
da qualche parte sopra $price e impostare $price = $product->get_price()
.

Correzione del link alla classe WC_Product e ai suoi metodi:
https://woocommerce.github.io/code-reference/classes/WC-Product.html
