A la hora de desarrollar una tienda online con WooCommerce nos podemos encontrar que queremos añadir contenido en diferentes zonas, en este caso la ficha de producto. Por ejemplo tener un campo de descripción extra, como puede ser después de las pestañas.
Por defecto, en los productos de WooCommerce, tenemos la descripción corta que va a la derecha de la imagen del producto y la descripción larga que va en las pestañas. En este tutorial vamos a ver cómo crear un nuevo campo de descripción y colocarlo dónde queramos.
Para ello añadimos el siguiente código en el fichero functions.php de nuestro child theme bien a nuestro plugin de funcionalidades como explico aquí:
add_action( 'add_meta_boxes', 'dl_tercera_descr_productos' );
function dl_tercera_descr_productos() {
add_meta_box(
'custom_product_meta_box',
'Tercera descripcion',
'dl_anadir_contenido_tercera_descr_productos',
'product',
'normal',
'default'
);
}
function dl_anadir_contenido_tercera_descr_productos( $post ){
$third_desc = get_post_meta( $post->ID, '_third_desc', true ) ? get_post_meta( $post->ID, '_third_desc', true ) : '';
wp_editor( $third_desc, '_third_desc' );
}
add_action( 'save_post_product', 'dl_guardar_contenido_tercera_descr_productos', 10, 1 );
function dl_guardar_contenido_tercera_descr_productos( $post_id ) {
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;
if ( ! isset( $_POST['_third_desc'] ) ) return;
update_post_meta( $post_id, '_third_desc', $_POST['_third_desc'] );
}
add_action( 'woocommerce_after_single_product_summary' , 'dl_contenido_tercera_descr_productos', 99 );
function dl_contenido_tercera_descr_productos() {
global $product;
$third_desc = get_post_meta( $product->get_id(), '_third_desc', true ) ? get_post_meta( $product->get_id(), '_third_desc', true ) : '';
if ( ! $third_desc ) return;
echo '<div>';
echo $third_desc;
echo '</div>';
}
Con esto, conseguiremos una descripción de producto después de los productos relacionados:

Para cambiar la localización de la misma, deberemos modificar el hook de woocommerce_after_single_product_summary en el código. Si no sabes los hooks de productos en WooCommerce te dejo este artículo.
Recuerda que puedo desarrollar tu tienda online o bien mis servicios de mantenimiento de WooCommerce.
Deja una respuesta