11mar
6

hack wordpress

Ya hemos visto muchas maneras de personalizar WordPress con shortcodes pero estas pequeñas maravillas pueden usarse en muchos más sitios que en el editor de entradas, aquí tienes unos cuantos buenos ejemplos … 

Shorcodes en widgets de texto

Lo primero es añadir este código al fichero functions.php de tu tema activo:

add_filter( 'widget_text', 'shortcode_unautop');
add_filter( 'widget_text', 'do_shortcode');

La segunda línea es la que hace que funcionen los shortcodes en el widget de texto. Además, hay que tener en cuenta que los widgets de texto tienen una casilla para “añadir saltos de párrafo automáticamente”, pues bien, la segunda linea inhabilita el código autop que podría, en caso de estar marcada la casilla, meter el shortcode introducido en un párrafo o incluso romper las tags.

Shortcodes en el tema

También se pueden usar shortcodes en el tema que uses. Para ello utilizamos la función do_shortcode() en la que el argumento será una cadena que contendrá el shortcode.

Por ejemplo, para mostrar el shortcode [publicidad] en tu tema pondrías algo así donde quieras que aparezca el resultado esperado:

<?php do_shortcode('[publicidad]'); ?>

La función do_shortcode() acepta cualquier tipo de texto. Si la cadena contiene un shortcode procesará ese código. De este modo, por ejemplo, podrías mostrar manualmente contenido de tus entradas de este modo:

<?php
$content = get_the_content();
echo do_shortcode($content);
?>

Shortcodes en comentarios

De nuevo recurrimos al fichero functions.php para añadirle este código que permite shortcodes en los campos de comentarios:

add_filter( 'comment_text', 'shortcode_unautop');
add_filter( 'comment_text', 'do_shortcode' );

Shortcodes en extractos

Ahora, en functions.php añadiremos esto para poder insertar shortcodes en los extractos de entrada:

add_filter( 'the_excerpt', 'shortcode_unautop');
add_filter( 'the_excerpt', 'do_shortcode');

Shortcodes en la descripción de usuario

Para poder meter shortcodes en la descripción del usuario hay que pasar la cadena de descripción por la función do_shortcode(). Para ello tendrás que añadir esto a tu tema activo:

<?php
// $user_id = 3;
$userdata = get_userdata($user_id);
echo do_shortcode($userdata->description);
?>

Solo tendrás que cambiar el ID de usuario, en este caso el 3.

Shortcodes en descripciones de etiquetas, categorías y taxonomías

También puedes filtrar estas descripciones. Para ello recurrimos de nuevo al fichero functions.php:

add_filter( 'term_description', 'shortcode_unautop');
add_filter( 'term_description', 'do_shortcode' );

Un mundo de posibilidades más ¿no?

Para saber más:

  • http://www.sofoca.cl Andrés Sanhueza

    ¿Hay alguna manera de usar shortcodes dentro de un atributo de otro shortcode?

  • http://www.bizion.org Ricardo

    Y si quiero usar shortcodes dentro de un campo personalizado como hago, por favor ese era justo el que estaba buscando…

  • Pingback: wp-popular.com » Blog Archive » Usando shortcodes en todas partes | Ayuda WordPress

  • martin

    podrías poner ejemplos mas claros? no entiendo bien el concepto…

    Solo pusisteis ejemplos de funciones, pero .. no veo ningun shortcode salvo en el ejemplo de ‘publicidad’
    saludos

  • http://www.bizion.org Ricardo

    No me sale el shortcode en el tema… puse el de wordtube pues no me funciono :(

  • http://twitter.com/giObanii Nosoynormal!

    Hay alguna forma de utilizar solo un shortcode especifico en los comentarios ya que no pretendo dar uso a los demas shortcodes que tengo en mi blog.

    Saludos.!