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:
PLAIN TEXT PHP: function ab_category_posts_show($atts, $content=null){$title = $atts['title'];
$cats_selected = array();
$cats_selected = explode(",", $atts['cat']);
foreach ( $cats_selected as $catid ) {
$content .= '...';
}
....
return $content;
}
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]