Cómo listar los últimos posts

Suscribete-Newsletter-Developer-Designer-Web-Mi-Negocio-En-Google-cómo-listar-los-últimos-posts
Cómo listar los últimos posts.

Aprende cómo listar los últimos posts de tu sitio web sin utilizar ningún plugin.

El problema de utilizar plugins es que desde el momento que lo empezamos a utilizar, quedamos encadenados al mismo. Si por lo que fuese el plugin queda obsoleto y no es actualizado en las nuevas versiones de WordPress vamos a tener un serio problema.

Nos podemos encontrar con una página que no funcione y nos muestre la pantalla blanca de la muerte, o que el plugin en cuestión no funcione y no haga su función y nos deje una página sin estilos ni funcionalidades.

Si tenemos pocas páginas no será grave porque siempre podremos sustituir el plugin por otro, pero puede darse el caso que tengamos por ejemplo un plugin que haga un slider en 3D y lo hayamos utilizado en un montón de entradas sustituirlo no va a ser tan fácil y lo más probable es que tengamos que hacerlo a mano uno por uno.

Por eso hoy publicamos una adaptación de una función que nos puede mostrar nuestros últimos posts, o los posts relacionados, o los más comentados ,  o lo que se nos ocurra haciendo mínimos cambios.

Manos a la obra. Ya tenemos la función

Me he basado en la función que publicó Jorge López en WordPressDirecto y aunque está pensada para mostrar los posts más comentados de nuestro sitio, la hemos adaptado para que muestre los últimos posts publicados en nuestro sitio web.

Podéis leeros el post de Jorge donde explica de manera muy clara y sencilla que es lo que hay que hacer y cómo adaptarlo.

Hemos modificado esa función para darle más versatilidad, haciendo que la consulta acepte un array de parámetros para que nos muestre lo que queramos según lo que le pasemos a la Query.

Podemos personalizar los parámetros deseados dándole valores  a los argumentos que queramos extraer. 

Esta adaptación, que a continuación tienes,  es para que muestre los posts ordenados por fechas descendentes y que muestre un total de 5 posts. Todos los parámetros los puedes personalizar a tu gusto. Consulta en la página del Codex todos los parámetros que puedes utilizar.


$args = array(
‘orderby’ => ‘date’,
‘order’ => ‘DESC’,
‘posts_per_page’ => 5,
);


También hemos modificado los <li> para que muestre un contador (gracias David Muñoz de Arenillas  de la Meetup WordPress Chiclana por tu ayuda con el tema del contador) y la imagen con un tamaño que se puede seleccionar con su enlace al posts y el título del post con su enlace.

Meetup-WordPress-Chiclana-cómo-listar-los-últimos-posts
La WordPress Meetup de Chiclana y su gran comunidad

Os dejo aquí la función modificada para que muestre los 5 últimos posts. Esta función es muy versátil porque crea un shortcode que luego puedes poner en un widget de texto en la barra lateral. O, por supuesto, en cualquier otro sitio que prefieras, incluso en la página principal del Blog.

No uses plugin para cosas tan simples, utiliza mejor a la COMUNIDAD que siempre está para ayudar y compartir.

Cómo listar los últimos posts sin plugins

Bueno, aquí tenemos que hacer una observación, ya que utilizamos un plugin para gestionar todas las funciones y así no tener que ponerlos en el archivo functions.php que,si se estropea porque se nos ha olvida una coma, nos puede romper el sitio y luego tendremos que emplear mucho tiempo en repararlo.

Code-Snippets-cómo-listar-los-últimos-posts

Con el plugin Code Snippets esto es más fácil de reparar y además puedes exportar e importar las funciones e instalarlas donde quieras.

Bien, pues sin más este es el código:

function posts_mas_comentados() { 
// iniciamos el buffer de salida
ob_start();
?>
  <div class="mas_coment">
<ul >
<?php 
// Ejecutamos WP_Query
// cambiamos el valor de posts_per_page según los posts que queramos mostrar
  $args = array(
	'orderby' => 'date',
	'order'   => 'DESC',
  	'posts_per_page' => 5,
);

//$query = new WP_Query('orderby=comment_count&posts_per_page=5');
$query = new WP_Query($args);
//Empieza el bucle
$contador = 1;
while ($query->have_posts()) : $query->the_post(); ?>

<li>
<div>  <span class="contador"><?php echo $contador++; ?></span></div>
    <div><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(array(150,150));?></a></div>
 	<div> <span class="titulo">
  		<a href="<?php the_permalink(); ?>"
  					title="<?php the_title(); ?>">
  					<?php the_title(); ?></a></span></div>
</li>
<?php endwhile; 
// Fin del bucle
?>
</ul>
  </div>
<?php

// Cerramos el buffer
 $output = ob_get_clean();

//Devolvemos los resultados 
return $output; 
}

// Creamos el shortcode
add_shortcode('mas-comentados', 'posts_mas_comentados');

// Habilitamos que se ejecute el shortcode en el widget de Texto
add_filter('widget_text', 'do_shortcode');

Si quieres que liste los posts más comentados solo tienes que quitar las dos barras de delante de esta línea //$query = new WP_Query(‘orderby=comment_count&posts_per_page=5’); y ponerlas delante de $query = new WP_Query($args);

Ahora toca darle estilo

Estos son los estilos que le  hemos dado. Esto es una cuestión de gustos y,  por supuesto, puedes adaptarlo a tu gusto como mejor veas. Lo puedes pegar en el personalizador en el apartado de CSS adicional.

post-recientes-cómo-listar-los-últimos-posts
Listado de posts más recientes con un shortcode [ mas-comentados  ]
.mas_coment ul li {
	display:flex;
	display:inline-flex;
        position: relative;
        padding-top:5px;
        padding-bottom: 5px;
        border-bottom:1px solid black;
}
span.titulo a{
	font-size:1.05em;
        font-family: Roboto, sans-serif; 
        font-weight:300;
        color:black!important;
        box-sizing:border-box;
}
.contador {
	font-size:3em;
        font-family: Arial, sans-serif; 
        font-weight:400;
        color: #235465;
	text-align:center;
	padding-right:.2em;
	
}
.mas_coment ul li img{
	max-width:8em;
	min-width:8em;
	max-height:5em;
	margin:.2em;
	border-radius:0;
	padding-right:.3em;
}

Hasta aquí cómo listar los últimos posts sin plugins

Pues hasta aquí hemos llegado. Vamos a eliminar el plugin de posts y a utilizar esta función.

Como es un shortcode [ mas-comentados ] (quita los espacios junto a los corchetes o listará aquí mismo los 5 últimos posts, aquí, en medio del texto) también lo puedes utilizar para tu página del blog y modificar a tu gusto el tamaño de las imágenes y todo lo que se muestra.

Como verás esto está hecho de una forma autodidacta, y seguro que habrá gente experta que lo podrá hacer mucho mejor, más bonito y más rápido, pero nadie nos quitará el placer de haberlo hecho por nosotros mismos y a nuestro gusto. Atrévete que no es difícil.

Para cualquier cosa ponte en contacto o coméntalo.


¡Suscríbete a nuestra newsletter!

suscríbete