Trabajando con Shortcode en plugins de WordPress

Cuando estemos realizando un plugin de WordPress va a ser frecuente que necesitemos indicar un valor especial e en nuestra entrada o página para que sea sustituido por el lo que nosotros programemos en el Plugin. Es lo que se conoce como shortcode.

Nuestro plugin deberá incorporar la instrucción:

add_shortcode('MyShortCode', 'ab_category_posts_show');

Esto lo que hace es que cuando WordPress encuentre en una entrada el siguiente valor [MyShortCode] ejecute la función ab_category_posts_show().

Esta función puede tener la siguiente estructura:

  1. function ab_category_posts_show($atts, $content=null){
  2. $title = $atts['title'];
  3. $cats_selected = array();
  4. $cats_selected = explode(",", $atts['cat']);
  5. foreach ( $cats_selected as $catid ) {
  6. $content .= '...';
  7. }
  8. ....
  9. return $content;
  10. }

Este ejemplo también sirve para comentar como pasar parámetros a la función que vamos a utilizar mediante el valor $atts. Es un array con todos los parámetros que se han especificado dentro del Shortcode. Un parámetro dentro de array a su vez puede ser un único valor (title) o contener una lista de valores que necesitamos pasar a un array de parámetros (cat). En este último caso utilizaremos la función explode() para poner en un array por el que podamos iterar la lista de parámetros.

Ejemplos de llamadas:

  • [MyShortCode title="My title"]
  • [MyShortCode title="My title" cat=5]
  • [MyShortCode title="My title" cat=5,235,4]

Tags: ,

About Alex

Informático, especializado en desarrollo Web con WordPress, Redes Sociales y posicionamiento en buscadores (SEO). Fan de la OOP y como afición jugador de Ajedrez. Geek por vocación & iphonero.