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:
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]