Ya se vió cómo añadir shortcodes simples, esta vez se explicará con un poco más de profundidad.

Primero, un shortcode no es más que un conjunto de funciones que crean un código macro para usar dentro del contenido de un artículo. Es necesario añadir dicho shortcode al archivo functions.php .  Como primer ejemplo sencillo, se creará un shortcode llamado [foo] que añadirá al artículo el texto “Esto es una prueba”.

functions.php

 

Este archivo está en el directorio del tema. Actua como un plugin, y, si existe en el directorio del tema, se carga automáticamente durante la inicialización de WordPress. Los pasos a seguir para crear el shortcode son los siguientes:

Crea la función en wordpress

Abre el fichero con tu editor favorito y añade lo siguiente:



//[foo]
function foo_demo( $atts ){
 return "Esto es una prueba.";
}
add_shortcode( 'foo', 'foo_demo' );

Guarda el fichero y ciérralo.

Pruébalo

Edita o crea un artículo y añade el shortcode:

[foo]

Guárdalo y haz clic en publicar o vista previa.

Cómo pasar parámetros o atributos a un shortcode

La API del shortcode facilita mucho la tarea para poder añadirle parámetros como estos:

[music genero="rap" autor="Nach"]
[music genero="Rock" autor="Linkin Park"]

Añade lo siguiente a tu archivo functions.php : 

// shortcode [music]
function show_music( $atts ){
   $music_details="";
   // get attibutes and set defaults
        extract(shortcode_atts(array(
                'genero' => 'No especificado',
                'autor' => 'No especificado',
                'date' => 0
       ), $atts));
    // Display info
    $music_details = '<div class="info"><ul>';
    $music_details .= '<li>Genero: ' .$genero. '</li>';
    $music_details .= '<li>Autor: ' .$autor. '</li>';
    $music_details .= '<li>Fecha: ' .$date. '</li>';
    $music_details .= '</ul></div>';

    return $music_details;
}
//add our shortcode music
add_shortcode('music', 'show_music');
add_action( 'init', 'register_shortcodes');

Listo, ya puedes usar este shortcode.

Referencias

cyberciti »» Visitar sitio

Índice