Ver Mensaje Individual
  #3 (permalink)  
Antiguo 08/11/2015, 23:24
pumi
 
Fecha de Ingreso: marzo-2007
Mensajes: 127
Antigüedad: 17 años, 9 meses
Puntos: 2
Respuesta: Un shortcode no se ejecuta donde quiero

Gracias ArturoGallegos por tu respuesta.

Efectivamente, el error me venía por estar usando ECHO en lugar de return, lo he cambiado y ya funciona, pero esto era sólo un ejemplo. Cuento lo que realmente quiero conseguir.

Como las descripciones de los artículos de la tienda son, en algunos casos bastantes amplias, lo que quiero es que el formulario para añadir al carrito me aparezca en varios puntos de la descripción del artículo, o al menos, al final de la misma. Para eso me creo el shortcode en el que ejecuto un hook. Pues bien, al hacer esto, la ejecución del shortcode me vuelve a salir al comienzo de la descripción del artículo.
El código para el shortcode es el siguiente:

-----------------------------------------------------------
function shortcode_anadirAlCarro($atts){

remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_title', 5 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_rating', 10 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_meta', 40 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_sharing', 50 );


do_action( 'woocommerce_single_product_summary' );


}
add_shortcode('mostrarIncorporarAlCarro', 'shortcode_anadirAlCarro');

-------------------------------------------------------------------

En la descripción del producto tengo puesto lo siguiente:

<div class="summary entry-summary" style="border:solid 2px #f00;">[mostrarIncorporarAlCarro]</div>

Como veréis en el Pedal boss RC-1, el formulario me aparece justo debajo del texto "Descripción del producto", y el lugar donde yo quiero que me aparezca es en el lugar donde está la linea roja que aparece al final de la descripción del producto. Mi objetivo es dejar ese formulario en lugar del botón de "comprar en amazon.es".

¿Qué tengo que hacer ahora o cómo lo tengo que hacer?

Gracias.