Obtener el precio de un producto WooCommerce por ID
Hice un shortcode para obtener el título, imagen y precio del producto. Estoy obteniendo correctamente el título, enlace e imagen pero no obtengo el precio. El problema está en
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); // Esta función no es correcta
$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);
Supongo que esta función no es correcta
¿Alguna idea de cómo obtener el precio ahora?
Gracias

Puedes crear un objeto de producto utilizando la siguiente función:
$product = wc_get_product( $post_id );
Y después de eso podrás acceder a todos los datos del producto. Todos los métodos disponibles se pueden encontrar aquí, pero los que necesitarás son:
$product->get_regular_price();
$product->get_sale_price();
$product->get_price();

gracias por la respuesta. ya lo revisé. verificando de nuevo. pero para eso necesito cambiar mi función de shortcode de manera diferente. ¿estoy en lo correcto? ¿hay alguna manera de hacerlo dentro de mi shortcode?

Solo agrega $product = wc_get_product( $post_id );
en algún lugar arriba de $price y configura $price = $product->get_price()
.

Corrección del enlace de la clase WC_Product y sus métodos:
https://woocommerce.github.io/code-reference/classes/WC-Product.html
