A la hora de diseñar una página web con WordPress la utilización de Shortcodes puede ser de gran ayuda. No solo por su facilidad de uso sino por su infinito abanico de posibilidades.
A continuación encontrará una pequeña guía sobre cómo crear un nuevo Shortcode para tu plantilla de WordPress.
WordPress introdujo los Shortcode en la versión 2.5 y desde entonces se ha demostrado que son una de las herramientas más útiles en el diseño web con WordPress. El usuario avanzado, tiene la habilidad de diseñar y publicar contenido dinámico usando macros, sin la necesidad de tener habilidades de programador.
Cuando un Shortcode es introducido en una página de WordPress, es remplazado por otro contenido. Es decir, se introduce una instrucción para hacer que WordPress encuentre el macro que está entre los paréntesis [ ] y lo remplaza por el contenido dinámico apropiado, el cual es producido por una función PHP.
El uso es muy sencillo, por ejemplo, si queremos introducir los post más recientes podemos utilizar algo como esto
[ultimos_post]
Un Shortcode algo más avanzado podría ser si introducimos un nuevo parámetro dentro del Shortcode
[ultimos_post post="5"]
Yendo un poco más lejos podremos introducir todavía más parámetros.
[ultimos_post posts="5"]Título[/ultimos_post]
Para crear un Shortcode simple no necesitaremos tener gran cantidad de conocimientos de programación. Los pasos simples son los siguientes:
1.- Crear la función, la cual será llamada desde el código del Shortcode.
2.- Registrar el Shortcode dándole un nombre único.
Todo el código de este ejemplo puede ser introducido en el archivo functions.php o en un PHP diferente que será incluido en functions.php
1.- Creando la función de llamada.
Cuando un Shortcode es encontrado, este es remplazado por un trozo de código, este código es la función de llamada.
Vamos a crear una función que busque los últimos post en la base de datos:
function funcion_ultimos_post() { query_posts(array('orderby' => 'date', 'order' => 'DESC' , 'showposts' => 1)); if (have_posts()) : while (have_posts()) : the_post(); $return_string = '<a href="'.get_permalink().'">'.get_the_title().'</a>'; endwhile; endif; wp_reset_query(); return $return_string; }
Como se ha mostrado, estamos pidiendo a la base de datos que recoja los últimos post y devuelva un string con un link a estos. Se observa que la función de llamada no muestra nada, solo devuelve el string.
2.- Registrar el Shortcode
Ahora le diremos a WordPress que esta función es un Shortcode.
function register_shortcodes(){ add_shortcode('ultimos_post', 'funcion_ultimos_post'); }
Si el Shortcode [ultimos_post] es encontrado dentro del contenido será remplazado por la función funcion_ultimos_post(). Es importante tener en cuenta que el nombre del Shortcode es único para evitar conflictos.
Para ejecutar la función register_shortcodes() necesitaremos asignar la acción WordPress:
add_action( 'init', 'register_shortcodes');
Otros códigos útiles cuando hablamos de Shortcodes son los siguientes:
add_filter('widget_text', 'do_shortcode');
add_filter('comment_text','do_shortcode');
add_filter( 'the_excerpt', 'do_shortcode');
De esta forma se permitirá introducir Shortcode directamente en los Widgets, comentarios o Excerpt.
Para introducir Shortcode directamente en la plantilla de la página web de WordPress introduciremos el siguiente código en el php:
echo do_shortcode('[ultimos_post]');
Espero haber resuelto todas las dudas sobre los Shortcode en WordPress. Para cualquier otra consulta no duden en contactar conmigo.
También puedes visitar la página web oficial de WordPress para más información: https://codex.wordpress.org/Shortcode_API