Cómo crear tu propio shortcode en WordPress.

Los shortcodes de WordPress para poder poner contenido dinámico personalizado de manera rápida y sencilla. Seguramente habrás usado alguno para poner galerías o poner algún contenido de algún plugin.

Hay dos tipos de shortcodes.

  • Self-closing shortcodes. Son shortcodes que no necesitan cerrarse. Tienen esta forma [nombredelshortcode]
  • Enclosing shortcodes: tiene un contenido en medio y necesitan apertura y cierre. Tiene esta forma:
    [nombreldeshortcode]Contenido que quieras poner[/nombredelshortcode]

¿Por qué son necesarios los shortcodes?

Por varios motivos:

  • WordPress deja insertar HTML en las páginas y posts. Pero no php, por motivos de seguridad. Si quieres añadir tu código dentro de un post, tienes que usar un shortcode.
  • Un shortcode sustituye a un código más o menos complejo, contenido en una función. Pero los usuarios no sabrían poner esa función, o sería una lata copiar todo el contenido. El shortcode sustituye todo este código por una palabra sencilla. De esta manera, usuarios que no saben programar pueden insertar contenido de manera rápida y sin riesgo.

¿Cómo se crea un shortcode?

Vamos a explicar la base de crear un shortcode. Obviamente esto puede llegar a ser muy complejo, pero la idea del artículo es mostraros cómo empezar. Luego, tu imaginación (y capacidad de programar) pone el límite.

Lo primero es que puedes crear el shortcode en el fichero functions.php de tu tema hijo o, como solemos hacer en este blog, en un snippet.

Después el shortcode tiene la siguiente estructura:

// registramos el shortcode
add_shortcode('nombredelshortcode', 'nombre_de_funcion_shortcode'); 

// después (o antes, da igual) ponemos la función con el código que queremos insertar
function nombre_de_funcion_shortcode() { 
 
// Pon aquí tu código. 

} 

¡Y ya está! Sólo tienes que usar el shortcode donde quieras que se ejecute la función que has programado. El shortcode sería:

[nombredelshortcode]

Si no quieres complicarte, puedes usar un plugin como Shortcoder.

¿Donde se insertan los shortcodes?

Los shortcodes se pueden usar en páginas, posts y tipos de posts personalizados.

Se pueden poner escribir en un área de texto o de html, y en widgets de texto. Gutenberg, y otros editores, tiene también un bloque para shortcodes. Muchos editores te permiten registrar tus shortcodes y tenerlos como opciones para el propio editor.

Pero además podemos usar la función do_shortcode para insertar el shortcode en cualquier lugar como pie, cabecera o dentro de otras funciones. Por ejemplo para el fichero footer.php o header. php:

<?php echo do_shortcode("[nombre_shortcode]"); ?>

Os dejamos algunas ideas para crear shortcodes.

  • Poner un bloque de anuncio de Adsense donde se quiera
  • Usar un shortcode para poner una imagen en varios sitios.
  • Mostrar contenido personalizado . Por ejemplo los últimos 5 posts o la descripción de un producto.
  • Crear un botón personalizado, por ejemplo de donación de paypal
  • Y mucho más…