El post de hoy lo voy a dejar publicado ya que me parece una función muy interesante para añadir a nuestro Wordpress. Se trata de una manera sencilla para poder ver los últimos posts modificados para que los visitantes de tu página web puedan estar al tanto de las últimas modificaciones en los artículos de tu página.
Esto de ver los últimos posts modificados, sin utilizar plugins añadidos a Wordpress podrás hacerlo de manera sencilla añadiendo una función a tu archivo functions.php o añadiéndola a tu plugin de funciones. Después tan solo tendrás que realizar la llamada a la función desde donde mejor te venga. Puedes ver este pequeño tutorial funcionando en la barra lateral de esta misma página. La opción «Últimas modificaciones» que puedes ver en la barra lateral está generada con el código que a continuación podréis ver.
Mostrar los últimos posts modificados en Wordpress
Como ya he dicho la siguiente función ha de ser añadida al archivo functions.php de tu tema. En caso de que utilices tu propio plugin de funciones recomiendo usarlo para esto. Por aquello de no recargar demasiado el archivo functions.
El código a añadir al final del archivo que elijas es el siguiente:
function shortcode_recientes($atts, $content = null, $code) { //Uso: [recientes limite="5" longitud_titulo="60" longitud_desc="0" thumbnail="1" tamano="53"] //thumbnail="1" muestra imagen destacada. thumbnail="0" no muestra la imagen extract(shortcode_atts(array( 'limite' => 5, 'longitud_titulo' => 60, 'longitud_desc' => 0, 'thumbnail' => false, 'tamano' => 53 ), $atts)); /*Parámetros de búsqueda de la query*/ $query = array('showposts' => $limite, 'orderby'=> 'modified', 'order'=>'DESC', 'post_status' => 'publish', 'ignore_sticky_posts' => 1); /*Consultamos la BD*/ $q = new WP_Query($query); if ($q->have_posts()) : $salida = ''; $salida .= '<ul class="listado-recientes">'; /* comienzo while para mostrar los últimos artículos*/ while ($q->have_posts()) : $q->the_post(); $salida .= '<li>'; /*Generación de la miniatura*/ if ( has_post_thumbnail() && $thumbnail == true): $salida .= '<a href="'.get_permalink().'" title="'.sprintf( "Leer todo el post: %s", get_the_title() ).'">'; $salida .= get_the_post_thumbnail(get_the_id(),array($tamano,$tamano),array('title'=>get_the_title(),'alt'=>get_the_title(),'class'=>'imageborder alignleft')); $salida .= '</a>'; endif; /*Generación del título*/ $salida .= '<div class="posts_content">'; $salida .= '<a href="'.get_permalink().'" title="'.sprintf( "Leer todo el post: %s", get_the_title() ).'" class="novedades">'; $salida .= wp_html_excerpt (get_the_title(), $longitud_titulo ); $salida .= '</a>'; $salida .= '<p>'; /* Buscamos la/s cateogría/s a las que pertenece el post */ /* $categories = get_the_category(); $separator = ' '; $output = ''; if($categories){ foreach($categories as $category) { $output .= $category->cat_name.''.$separator; } $salida .= trim($output, $separator); }*/ //$salida .= '</p>'; /* Escribo extracto */ // $excerpt = get_the_excerpt(); //$salida .= ($excerpt)?'<p>'.wp_html_excerpt($excerpt,$longitud_desc).'</p>':''; /*Escribimos la fecha de la modificación*/ $salida .= '<div class="rpwe-time published">Modificado el: '.get_the_modified_date('d/m/Y').'</div>'; $salida .= '</div>'; $salida .= '</li>'; endwhile; wp_reset_query(); /* fin while */ $salida .= '</ul>'; endif; return $salida; } add_shortcode('recientes', 'shortcode_recientes'); //para insertarlo en un widget del sidebar escribimos lo siguiente add_filter('widget_text', 'do_shortcode');
Como se puede ver en el código la función tal y como está va a mostrar la miniatura del post en cuestión. Justo al lado podrás ver el título el mismo. Además tanto el thumbnail como el título serán un enlace que llevarán al usuario al post en cuestión. Justo debajo de cada uno de ellos aparecerá la fecha de la modificación. El formato de la fecha será de día/mes/año. Este formato será modificable en los parámetros que utiliza la función get_the_modified_date(‘d/m/Y’) como se puede ver en el siguiente enlace.
Quiero resaltar la importancia de la última línea (add_filter). Con ella podremos insertar los últimos posts modificados en un widget del sidebar.
Colocando el widget para mostrar los últimos posts modificados
Para realizar la llamada a nuestra nueva función nos dirigiremos a la opción de widgets de Wordpress. Añadimos un widget para mostrar código html como el que se puede ver en la siguiente captura.
El formato del texto a añadir sería:
[recientes limite="5" longitud_titulo="60" longitud_desc="0" thumbnail="1" tamano="53"]
Los valores que aquí se muestran se pueden personalizar según las necesidades que cada uno tenga. Ahora solo queda guardar el widget y en la página de inicio de nuestra web ya veremos un listado de los últimos posts modificados. Ni que decir tiene que para darle un formato un poco más vistoso, que cada cual trabaje por su cuenta los estilos css.
Este artículo es tan solo una muestra ya que este código nos puede vale para mostrar los últimos posts publicados, los últimos comentarios, los posts más populares, etc … todo esto es susceptible de salir adelante con alguna modificación (mínima) al código.
1 Comentario
Perfecto. Funcionando a la perfección en Wp 4.7.4. Gracias por compartir