Soy nuevo en WooCommerce y estoy buscando una solución para mostrar Atributos del producto en una página de publicación. He investigado y hecho algunas pruebas, pero nada parece funcionar.
Idealmente, me gustaría usar un Código corto tomando el ID del Producto y mostrando todos los atributos de su producto en mi página de publicación. algo como [product_page id="99" display_only_attributes ]
Esta es la forma de obtener los atributos del producto en un código abreviado personalizado donde definirá la ID del producto como un argumento de código abreviado id
.
El código de función:
if ( ! function_exists( 'display_product_additional_information' ) ) {
function display_product_additional_information($atts) {
// Shortcode attribute (or argument)
$atts = shortcode_atts( array(
'id' => ''
), $atts, 'product_additional_information' );
// If the "id" argument is not defined, we try to get the post Id
if ( ! ( ! empty($atts['id']) && $atts['id'] > 0 ) ) {
$atts['id'] = get_the_id();
}
// We check that the "id" argument is a product id
if ( get_post_type($atts['id']) === 'product' ) {
$product = wc_get_product($atts['id']);
}
// If not we exit
else {
return;
}
ob_start(); // Start buffering
do_action( 'woocommerce_product_additional_information', $product );
return ob_get_clean(); // Return the buffered outpout
}
add_shortcode('product_additional_information', 'display_product_additional_information');
}
El código va en el archivo function.php de su tema secundario activo (o tema activo). Probado y funciona.
USO DE CÓDIGO CORTO (Actualizado)
-
con un identificador de producto definido:
[product_additional_information id='37']
O en php:
echo do_shortcode("[product_additional_information id='37']");
-
En una página de producto existente (cuando se elimina la pestaña de producto “información adicional”, por ejemplo):
[product_additional_information]
O en php:
echo do_shortcode("[product_additional_information]");
Obtendrás algo como esto:

solo quiero que se muestren en mi página de publicación (blog) como normalmente están en la página del producto. Pero solo la sección de información adicional (los atributos). Sin html, solo con wordpress back-end. El objetivo es que el equipo de contenido de mi empresa pueda usar cualquier producto ingresado en woocommerce y mostrar sus atributos en medio de una página de publicación. Es para un producto simple que también mostraría variaciones.
– Rémi
8 de mayo de 2018 a las 7:25
Entonces, desea mostrar todos los atributos en la página de listado de productos, en cuanto al producto.
– PPL
8 de mayo de 2018 a las 7:27
Bueno, no en la página del producto, sino en una página de publicación. Actualmente estamos construyendo un sitio web de revisiones de automóviles. Cada automóvil se ingresará en woocommerce, con todos los atributos específicos asociados a cada automóvil. Las reseñas se escriben como publicaciones de blog normales. Cuando el equipo de contenido está escribiendo una reseña sobre un automóvil, me gustaría que pudieran usar un código abreviado que se refiera a la identificación del automóvil ingresada en WooCommerce, que enumeraría todos sus atributos en el artículo.
– Rémi
8 de mayo de 2018 a las 7:33
funcionando perfectamente! Muchas gracias 🙂
– Rémi
8 de mayo de 2018 a las 7:55