Este artículo es principalmente una traducción de este otro artículo de Kevin Muldoon
Los shortcodes de WordPress se pueden usar desde la versión 2.5 que salió en el 2008, y desde entonces muchos temas tienen incorporada una lista de ellos creada para facilitarle a los usuaios generar contenido.
Pero además de los que pueda traer la plantila (y los que tiene el WordPress de serie) se pueden crear otros específicos para nuestra web modificando el archivo functions.php que se encuentra dentro del directorio de cada plantilla.
Los códigos que trae WordPress en su núcleo son:
audio – le permite incluir archivos de audio.
subtitle – Le permite envolver leyendas alrededor del contenido. Es de uso general con imágenes.
embed – le permite incluir una amplia variedad de contenidos como vídeo, audio y tweets.
gallery – Permite insertar galerías de imágenes.
video – Le permite incorporar archivos de vídeo.
Antes de comenzar, es bueno siempre hacer una copia de todos los ficheros que vayamos a modificar por si algo sale mal.
Vamos a crear un shortcode simple como ejemplo.
Vamos a crear un shortcode que nos genere un texto de despedida en nuestras entradas, si siempre escribimos algo al final de una entrada un shortcode nos puede facilitar ese trabajo.
Para ello, se agrega una función al archivo functions.php de mi tema:
/ / Función despedida
function despedida_shortcode () {
return ‘Si te ha gustado este artículo, te animo a <a href = «http://elpezrojo.es/blog/» title = «mi blog»> ller mi blog </ a> ‘.;
}
add_shortcode (‘despedida’, ‘despedida_shortcode’);
Esta es la función que consigue que tengamos el shortcode de ejemplo, ahora vamos a ver parte por parte para que se pueda entender.
Lo primero que hacemos es agregar un comentario por encima de nuestra función. Esto nos ayudará a recordar rápidamente lo que hace nuestra función en el futuro.
/ / Función despedida
A continuación, definimos la función. Es bueno también usar nombres que son auto-explicativo, por lo que he llamado mi función «despedida_shortcode».
function despedida_shortcode () {
A continuación, definimos nuestro mensaje. La sentencia return mostrará nuestro mensaje cuando se le llama. También almacena los mensajes (en comparación con el eco, que imprimirá, pero lo guarde).
return ‘Si te ha gustado este artículo, te animo a <a href = «http://elpezrojo.es/blog/» title = «mi blog»> ller mi blog </ a> ‘.;
La función se cierra entonces.
}
A continuación, se define el shortcode que va asociado a esta nueva función. La primera variable especificada define la código corto a utilizar y la segunda variable llama la función (es decir, la que se ha definido anteriormente).
add_shortcode (‘despedida’, ‘despedida_shortcode’);
Y ya está, después de guardar la plantilla functions.php, podemos pegar nuestro mensaje de despedida cada vez que queramos utilizar el código corto despedida.
[despedida]
Ahora vamos a ver otros ejemplos para crear diferentes shortcodes a nuestra web.
Creación de un Código corto con atributos
En muchos shortcodes hay que poner algo dentro para que funcionen, por ejemplo un shortcode que añada un marco a una foto necesita que le pongamos el nombre de la foto. Eso es un atributo del shortcode.
En el siguiente ejemplo, les voy a mostrar cómo los atributos se pueden utilizar para ampliar la función que hemos creado antes. Como puede ver, la mayor parte del código sigue siendo el mismo.
/ / Función despedida extendido con la variable tipo de suscripción
function despedida_multilink_shortcode ($ Atts) {
extract (shortcode_atts (array (
‘subtype’ => ‘RSS’,
‘subtypeurl’ => ‘http://feeds.feedburner.com/Elpezrojo’,
), $ Atts, ‘multilink’));
sprtinf (‘Asegúrese de suscribirse a futuras actualizaciones de Elpezrojo <a href=’%1$s’> por %2$s </ a>.’ volver,
esc_url ($ subtypeurl),
esc_html ($ subtype)
);
}
add_shortcode (‘despedida’, ‘despedida_multilink_shortcode’);
$ Atts es el nombre de nuestra la matriz de atributos. Después, utilizamos la función de extracción para importar las variables de nuestro array (mediante la función de WordPress shortcode_atts).
Se espera extraer dos atributos: subtype y subtypeurl. Estos los usaremos para darle a nuestro shortcode un tipo de suscripción y el URL de la suscripción para que los incluya en nuestro mensaje de despedida.
También definimos un tipo de suscripción por defecto para cuando no pasemos ningún atributo. Nuestro tipo de suscripción por defecto es RSS y nuestra URL suscripción predeterminado es http://feeds.feedburner.com/Elpezrojo.
Por lo tanto, cuando se agrega lo siguiente a un mensaje:
[despedida]
Obtendremos el siguiente resultado:
Asegúrese de suscribirse a futuras actualizaciones de Elpezrojo por RSS.
Si definimos los atributos, el resultado es diferente. En el siguiente código:
[despedida]
[despedida subtipo = «Twitter» subtypeurl = «http://www.twitter.com/elpezrojo/»]
[despedida subtipo = «Facebook» subtypeurl = «http://www.facebook.com/elpezrojo/»]
[despedida subtipo = «Google» subtypeurl = «http://plus.google.com/+elpezrojo/»]
Seria:
Asegúrese de suscribirse a futuras actualizaciones de Elpezrojo por RSS.
Asegúrese de suscribirse a las actualizaciones futuras Elegante Temas por Twitter.
Asegúrese de suscribirse a las actualizaciones futuras Elegante Temas por Facebook.
Asegúrese de suscribirse a las actualizaciones futuras Elegante Temas por Google.
Aunque este fue un ejemplo básico de cómo funcionan los atributos, es fácil ver cómo los desarrolladores de plugins pueden utilizar la API de shortcodes para hacer complicadas funciones más fáciles de usar para los usuarios.