Una de las novedades con las que WordPress 2.5 nos sorprendÃa era con la aparición de ShortCodes. Un sistema que nos permitÃa definir pseudo-tags que nos permitÃa ejecutar PHP en nuestros posts. Como vimos hace unos meses (casi un año) este sistema nos permite definir tags al estilo BBcode que puedan ser usados en nuestros posts, siendo estos reemplazados por el código generado asociado a él.
¿Como funcionan?
Es muy sencillo, únicamente tendremos que definir nuestros propios shortcodes, abajo veremos algunos de ejemplos y los colocaremos en el fichero functions.php
de nuestro theme o un un plugin destinado únicamente para ello. AllÃ, usando add_shortcode()
iremos relacionándolos con las funcionalidades que deseemos realizar con cada uno de ellos.
Despues, una vez añadidos a WordPress, únicamente tendremos que escribir nuestro shortcode entre corchetes ([shortcode]
) dentro de nuestro post y automáticamente al salir el post por pantalla este reemplazará nuestro shortcode por su equivaléncia en código.
La gente de Smashing Magazine hace una recopilación de algunos interesantes:
Última imagen asociada a un post:
function sc_postimage($atts, $content = null) {
extract(shortcode_atts(array(
"size" => 'thumbnail',
"float" => 'none'
), $atts));
$images =& get_children( 'post_type=attachment&post_mime_type=image&post_parent=' . get_the_id() );
foreach( $images as $imageID => $imagePost )
$fullimage = wp_get_attachment_image($imageID, $size, false);
$imagedata = wp_get_attachment_image_src($imageID, $size, false);
$width = ($imagedata[1]+2);
$height = ($imagedata[2]+2);
return '<div class="postimage" style="width: '.$width.'px; height: '.$height.'px; float: '.$float.';">'.$fullimage.'</div>';
}
add_shortcode("postimage", "sc_postimage");
Modo de uso:
[postimage size="" float="left"]
Obtener los posts de una categorÃa desde un shortcode
function sc_liste($atts, $content = null) {
extract(shortcode_atts(array(
"num" => '5',
"cat" => ''
), $atts));
global $post;
$myposts = get_posts('numberposts='.$num.'&order=DESC&orderby=post_date&category='.$cat);
$retour='<ul>';
foreach($myposts as $post) :
setup_postdata($post);
$retour.='<li><a href="'.get_permalink().'">'.the_title("","",false).'</a></li>';
endforeach;
$retour.='</ul> ';
return $retour;
}
add_shortcode("list", "sc_liste");
Modo de uso:
[liste num="3" cat="1"]
Insertar un lector de RSS en tus posts
//This file is needed to be able to use the wp_rss() function.
include_once(ABSPATH.WPINC.'/rss.php');
function readRss($atts) {
extract(shortcode_atts(array(
"feed" => 'http://',
"num" => '1',
), $atts));
return wp_rss($feed, $num);
}
add_shortcode('rss', 'readRss');
Modo de uso:
[rss feed="https://www.anieto2k.com/feed/" num="5"]
5 comentarios, 5 referencias
+
#