En este artículo os mostraré cómo crear un shortcode en WordPress en el que mostremos las últimas entradas de una categoría. Esto puede ser muy útil, por ejemplo, si tenemos una sección en la web, en la que queremos mostrar los últimos artículos escritos en la web sobre esa temática, o mismamente en un sidebar específico, o bien en parte de una plantilla hija,…
De esta manera, una vez os he explicado cómo crear un shortcode en WordPress, vamos con un ejemplo real.
Para ello, lo primero que tenemos que hacer es editar el fichero functions.php y al final del documento escribir (como siempre, os recomiendo crear una copia de seguridad por si tocais algo que no debeis xd…):
function shortcode_recientes($atts, $content = null, $code) { extract(shortcode_atts(array( 'limite' => 24, 'longitud_titulo' => 50, 'longitud_desc' => 80, 'thumbnail' => true, 'tamano' => 360, 'categorias' => 4 ), $atts)); $query = array('cat'=>$categorias,'showposts' => $limite, 'orderby'=> 'date', 'order'=>'DESC', 'post_status' => 'publish', 'ignore_sticky_posts' => 1); $q = new WP_Query($query); if ($q->have_posts()) : $salida = ''; /* comienzo while */ while ($q->have_posts()) : $q->the_post(); $salida .= '<div class="services-grid">'; if ( has_post_thumbnail() && $thumbnail == true): $salida .= '<div class="image">'; $salida .= get_the_post_thumbnail(get_the_id(),array($tamano,$tamano),array('title'=>get_the_title(),'alt'=>get_the_title(),'class'=>'imageborder alignleft')); $salida .= '<div class="hoverimage"></div>'; $salida .= '</div>'; endif; $salida .= '<div class="posts_content">'; $salida .= '<a href="'.get_permalink().'" title="'.sprintf( "Enlace permanente a %s", get_the_title() ).'">'; $salida .= '<h3>'; $salida .= wp_html_excerpt (get_the_title(), $longitud_titulo ); $salida .= '</h3>'; $salida .= '</a>'; $excerpt = get_the_excerpt(); $salida .= ($excerpt)?'<p>'.wp_html_excerpt($excerpt,$longitud_desc).'...</p>':''; $salida .= '</div>'; $salida .= '</div>'; endwhile; wp_reset_query(); /* fin while */ endif; return $salida; } add_shortcode('recientes', 'shortcode_recientes');
Como siempre, al ser código PHP, podéis editarlo sin problemas, añadir, HTML, clases CSS,… lo que querais de cara a darle la estética que vosotros querais.
Una vez creado el Shortcode, tenemos que añadir el código del mismo en la sección que queramos.
[recientes limite="3" longitud_titulo="50" longitud_desc="50" thumbnail="1" tamano="50" categoria="2"]
Es bastante fácil de entender y de modificar:
- Límite: Muestra el número de entradas que le especifiquemos.
- Longitud_titulo, longitud_desc: Como su nombre indica, con esto controlamos la logitud del título y de la descripción.
- Thumbnail: Si es 1 mostraremos la imagen destacada. Si es 0, no la mostraremos.
- Tamano: Indicamos el tamaño de la imagen.
- Categoria: Especificamos la categoria de la cual mostraremos las últimas entradas.
Este shortcode es de bastante utilidad y bastante utilizado en WordPress.
Espero que os sirva.