Shortcodes en WordPress

Si has probado algún template premium de WordPress, habrás podido comprobar que una de sus opciones para configurar las entradas y páginas son los shortcodes. Pero si aun no estás familiarizado con este término, espero poderte ayudar con esta entrada.

¿Qué son?

Son como tags HTML, solo que pueden tener vinculados una función. Por ejemplo, podríamos tener un shortcode para transformar un texto en negrita, o para integrar un slider de fotos dentro de la entrada.

¿Cómo los identificamos?

Tienen una estructura muy fácil de reconocer. Siempre empiezan y terminan con un corchete. Por ejemplo: [galeria]

¿Qué tipos hay?

Depende de como se programen. Pero si los queremos usar como una etiqueta, tendría un inicio y un fin, como por ejemplo [strong] texto en negrita [/strong].

Aunque si es una función de inserción puede que solo requiera una etiqueta, sin necesidad de cerrarla.

¿Un shortcode se puede parametrizar?

Se puede programar para que acepte unos parámetros. Por ejemplo, podríamos tener un shortcode que cree un enlace: [a direccion=»url»] link [a]

Como puedes ver, la estructura es muy similar a una etiqueta HTML, solo que aquí nosotros programamos los atributos que necesitamos.

¿Todos los templates llevan shortcodes? ¿Son siempre los mismos?

Los shortcodes deben preprogramarse en el archivo de functions.php, por lo que no todos los templates llevarán, y no tienen porque ser iguales en diferentes plantillas.

 

Programando un shortcode.

Programar un shortcode es un sencillo. Hay que hacerlo siempre en el archivo functions.php. La estructura de la función sería la siguiente:

// Identificamos el shortcode [separador] y ejecutamos la función separadorFn
add_shortcode("separador", "separadorFn");

// A la función le hemos añadido el parámetro del color. Por defecto, el color será negro.
function separadorFn($color='#000') {
$resultado = '

<hr style="border-color: '
.$color.';" />

'
;
return $resultado ;
}

De esta forma, si en nuestro editor de texto de WordPress usamos el shortcode [separador color=»#f00″], nos insertará una línea roja. En este ejemplo, no hace falta cerrar el tag, ya que no engloba nada, es un único elemento.

¿Se puede usar un shortcode en el código PHP de nuestra plantilla?

Si lo que queremos es usarlo dentro de nuestro código PHP, tenemos la función do_shortcode(). Aquí tienes un ejemplo:

// Usamos un shortcode en nuestro código PHP (fuera del editor de entradas).
echo do_shortcode('[separador color="#f00"]');

También podemos encontrarnos muchos plugins que funcionan con shortcodes. El funcionamiento es exactamente el mismo. Si quieres practicar con los shortcodes en plugins, te recomiendo el plugin Contact Form 7, para crear formularios dinámicos.

Ver toda la documentación acerca de los shortcodes

Shortcodes en WordPress

WordPress |