Obține prețul unui produs WooCommerce după id
Am creat un shortcode pentru a obține titlul, imaginea și prețul produsului. Primesc corect titlul, link-ul și imaginea, dar nu reușesc să obțin prețul. Problema este la
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); // Această funcție nu există
$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);
Bănuiesc că această funcție nu este corectă
Are cineva vreo idee cum să obțin prețul acum?
Mulțumesc

Puteți crea un obiect de produs folosind următoarea funcție:
$product = wc_get_product( $post_id );
După aceea, veți putea accesa toate datele produsului. Toate metodele disponibile pot fi găsite aici, dar cele de care aveți nevoie sunt:
$product->get_regular_price();
$product->get_sale_price();
$product->get_price();

mulțumesc pentru răspuns. am verificat deja asta. verific din nou. dar pentru asta trebuie să modific funcția mea de shortcode într-un mod diferit. am dreptate? există vreo modalitate de a face asta în interiorul shortcode-ului meu

Doar adaugă $product = wc_get_product( $post_id );
undeva deasupra variabilei $price și setează $price = $product->get_price()
.

Corecție link pentru clasa și metodele WC_Product:
https://woocommerce.github.io/code-reference/classes/WC-Product.html
