Seleccionar página

Problema shortcode ejecución al principio de la página

por | Jul 17, 2017 | Wordpress

Problema shortcode se ejecuta al principio de la página y no en su lugar

Solucionar el problema shortcode ejecución al principio de página. Si hemos creado un shortcode y al invocarlo este se ejecuta al principio de nuestra página, debemos revisar el código del shortcode. El problema más común que produce que el shortcode no se ejecute en el espacio asignado es la falta del return en la función.

Vamos a explicar este error y su solución.

NOTA: si te interesa aprender a crear shortcodes te recomiendo el siguiente artículo de este blog:

Cómo crear shortcodes en WordPress – Tutorial códigos cortos

Ejemplo de shortcode que se ejecutará al principio de página

Para entender mejor el problema, vamos a ilustrarlo con un ejemplo. Abre el archivo functions.php de tu tema y copia y pega el siguiente código.

[php] add_shortcode(‘saludo’, ‘muestra_saludo’);function muestra_saludo(){ echo «Hola soy un shortcode que se muestra al principio»; } [/php] 

Ahora vamos al administrador de WordPress, selecciona uno de tus post ya creados y pulsa sobre «editar». Hacia la mitad o al final del texto, en la ventana de edición, pegamos el siguiente código:

[saludo]

De esta forma indicamos que se ejecute el shortcode.

En el FrontEnd pulsa sobre el post que hemos modificado. Observarás que el código se ejecuta al principio de la página y no a mitad o al final que es donde hemos llamado al shortcode.

El problema es que al crear el shortcode hemos utilizado «echo» en lugar de «return»

Ejemplo de shortcode que soluciona el problema

Modifica el shortcode para que devuelva una variable con la sentencia «return».

[php] add_shortcode(‘saludo’, ‘muestra_saludo’); function muestra_saludo(){ $saludo=»Hola soy un shortcode que se muestra bien»; return $saludo; } [/php] 

Realiza el procedimiento anterior de seleccionar un post y llamar al shortcode. Observarás que el shortcode se ejecuta en el lugar indicado.

Entender la diferencia entre return y echo te ayudará a entender mejor el problema de un shortcode que se ejecuta al principio de la página:

 

 

2 Comentarios

  1. Runner2018

    Me has salvado de pelearme toda una tarde jajaj

    Responder
    • Lph by Nerea Liébana

      Me alegra Laura, feliz día!

      Responder

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *