¿Qué es y para qué sirve un shortcode?
Podemos definir un shortcode como:
«una llamada que hacemos desde el propio editor de WordPress, en una entrada o página, a una función previamente definida en nuestro archivo functions.php».
Muchos de los plugins que podemos instalar en WordPress hacen uso de shortcodes.
Ventajas de usar shortcodes
La principal es no tener que repetir códigos o tareas habituales en el editor de WordPress.
Los shortcodes son grandes ahorradores de tiempo que facilitan tareas habitualmente tediosas o que requiren mucho tecleo.
Puedes usarlos para añadir textos repetitivos, para hacer llamadas a funciones, para aplicar clases CSS, casi para todo.
Sólo necesitas dos pasos para crear tu shortcode:
- Crea la función primaria PHP.
- Crea el conector add_shortcode, cuya función es conectar la función primaria PHP a WordPress.
Principales ventajas de los shortcodes:
Estilizar contenidos en páginas y entradas.
Puede que en algún momento necesites insertar un botón de llamada a la acción, un formulario de suscripción, o quizás incluso una galería de imágenes en medio de un artículo.
Esto lo puedes conseguir fácilmente con un shortcode, ya que están pensados para producir contenidos que de otra forma serían muy tediosos de programar, o que requerirían introducir HTML especializado directamente en tus contenidos.
El uso de un shortcode hace que todo sea mucho más limpio y mantenible, especialmente si necesitas introducir un mismo contenido varias veces en distintos lugares.
Añadir contenidos interactivos en lugares inalcanzables.
Debido a que los shortcodes son texto que luego se convierte en algún tipo de contenido especial, los puedes utilizar para añadir elementos en lugares que normalmente no podrías.
Por ejemplo, podrías utilizar un simple widget de texto para insertar algo más complejo como un pase de diapositivas, o un testimonio.
Crear diseños de páginas con estructura personalizada.
Los shortcodes no sólo están limitados a estilizar contenido o a insertar elementos.
También son usados para organizar tu contenido y crear algo tan esencial como columnas, de forma que puedes darle un cambio radical a la forma en que creas tus páginas.
Aunque el uso de shortcodes hace que gestionar tus contenidos se un poco más complejo, los resultados que puedes obtener gracias a ellos superan con creces las dificultades.
Ahora, veamos un simple ejemplo:
Crearemos un shortcode a través del cual mostraremos un texto.
Para ello, editamos el fichero functions.php de nuestro tema (Supongo que estarás utilizando un tema hijo, ya que de lo contrario, si cambias de tema, tendrás que editar nuevamente el archivo funtions.php del nuevo tema para que funcionen tus shortcodes).
En esta entrada te explico cómo crear tu tema hijo (child theme).
<?php function miShortcode() { return '<p>Este es un ejemplo de cómo funcionan los shortocodes.</p>'; } add_shortcode('Ejemplo', 'miShortcode'); ?>
Para mostrarlo en una página o entrada bastaría con escribir, a través del editor de WordPress: [Ejemplo].
Aqui pongo otro ejemplo un poco más completo. En este caso nos servirá para mostrar nuestras entradas recientes.
<?phpadd_action( 'init', 'dcms_agregar_shortcode' ); function dcms_agregar_shortcode(){ add_shortcode('EntradasRecientes', 'dcms_entradasrecientes'); } function dcms_entradasrecientes( $atts , $content ){ //Valores por defecto $atts = shortcode_atts(['cantidad' => '4'], $atts, 'EntradasRecientes' ); $quantity = (int) $atts['cantidad']; $title = ($content) ? $content : 'Entradas Recientes'; $str = ''; //Consulta entradas query_posts(['orderby' => 'date', 'order' => 'DESC' , 'showposts' => $quantity]); if ( have_posts() ) { $str = '<h3>'.$title.'</h3>';$str .= '<ul>'; while ( have_posts()) { the_post(); $str .= '<li><a href="'.get_permalink().'">'.get_the_title().'</a></li>'; } $str .= '</ul>'; } wp_reset_query(); return $str; }
En éste último código:
- Usamos el hook init de WordPress para registrar la función dcms_agregar_shortcode
- Dentro de la función dcms_agregar_shortcode creamos el Shortcode llamado EntradasRecientes
- El Shortcode hace referencia a la función dcms_entradasrecientes
- Dentro de la función dcms_entradasrecientes pasamos dos parámetros atts y content
- Los parámetros son consistenciados y asignados para tener valores por defecto
- Realizamos la consulta para recuperar las entradas usando la función de WordPress query_posts
- Creamos el bucle, dentro de este formamos la lista con los datos obtenidos
- Finalmente devolvemos la cadena de texto que hemos ido concatenando con los datos
Existen decenas de plugins de WordPress que, si no te ves capaz de hacerlo por tí mismo, te permitirán crear tus shortcodes.
Pero si lo que quieres es crecer y aprender más, aquí te dejo las referencias obligadas que no debes perderte:
Espero que te haya servido. Hasta pronto.