Categorías: Tutoriales

¿Cómo crear tu propio shortcode en WordPress?

Si manejáis WordPress sabréis que existen o al menos os suenan los shortcode (códigos cortos en español). ¿Qué hacen? Cuando estamos redactando una entrada, podemos hacer una llamada a uno de ellos para conseguir una funcionalidad extra. Por ejemplo, el típico caso de la galería de imágenes: [ gallery ] (pongo espacios entre ellos para que no salte la galería.

Algunos plugins y temas nos proporcionan más códigos cortos de este tipo. Sin embargo, si manejáis la API de WordPress, a lo mejor vosotros mismos queréis crear vuestros propios shortcode. ¿Cómo?

Uniendo un shortcode a una función. Si no tenemos atributos es directo:

//[mishortcode]
function mishortcode_func( $atts ){
 return "Este es mi shortcode";
}
add_shortcode( 'mishortcode', 'mishortcode_func' );

En caso de que tengamos atributos, habrá que descomponer el array de atributos que recibe la función.

// [mishortcode miatributo0="mivalor0" miatributo1="mivalor1"]
function mishortocde_func( $atts ) {
 extract( shortcode_atts( array(
  'miatributo0' => 'mivalor_por_defecto_0',
  'miatributo1' => 'mivalor_por_defecto_1',
 ), $atts ) );

 return "He recibido = {$miatributo0} y {miatributo1}";
}
add_shortcode( 'mishortcode', 'mishortocde_func' );

En este caso, soportará hasta dos atributos. Si no se le pasa ningún atributo, cogerá los dos por defecto y en caso de que se le pase uno o los dos, estos serán sus valores y el que no reciba valor, recibirá el valor por defecto que le hemos asignado. Igual que en PHP (en esta entrega del curso de PHP se explica cómo se puede simular la sobrecarga usando atributos por defecto).

F. Javier Carazo Gil

Cofundador de CODECTION, empresa especializada en WordPress, autor de un libro sobre WordPress (el primero en español) y multitud de artículos (en medios físicos y virtuales) sobre el tema. Participa en la comunidad WordPress de forma activa siendo parte del equipo organizador de la WordPress Meetup de Córdoba, dando charlas en diferentes WordCamp y siendo autor y coautor de multitud de plugins libres y premium para WordPress de gran éxito.

Ver comentarios

  • si dentro de un atritbuto es una frase, como logro para que se tome el espacio, ya que al momento de imprimir en HTML el shortcode no toma toda la información sino solo al primera palabra

Entradas recientes

DeepSeek

2 días hace

Contacto

2 semanas hace

Smart-tv mute

2 semanas hace

STEAM OS

3 semanas hace

2025

4 semanas hace

El podcast de Linux Hispano – #072 – El hardware libre debe consolidarse como el software libre

https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.

1 mes hace