Cómo mostrar los posts más comentados en WordPress sin plugins

El hecho de mostrar los posts más comentados ayuda a que los usuarios revisiten antiguos posts y sigan debatiendo sobre ello. Es una estrategia muy básica pero que no muchos sitios webs desarrollados con WordPress lo llevan a cabo. Ya os hemos hablado por aquí en ciertas ocasiones de técnicas para que los antiguos posts que hayas redactado en tu plataforma sigan nutriéndose de visitas, pero la de mostrar los posts más comentado es una muy sencilla y muy importante.

Sé que existen multitud de plugins para ello, pero el hecho de sobresaturar tu sitio web de estos addons puede afectar negativamente al rendimiento de tu web, por no hablar del fatídico pantallazo en blanco. Es por eso que siempre viene bien ahorrrarnos la instalación de estos plugins e intentar implementarlo nosotros mismos agregandoo código a los ficheros de nuestro tema actual.

En este artículo te mostraremos cómo mostrar los posts más comentados en WordPress sin necesidad de utilizar plugins, simplemente con código.

Ojo, no recomiendo este método a los más novatos. Si no te sientes cómodo agregando código a los ficheros de tu tema de WordPress, o no lo has hecho nunca, te recomiendo encarecidamente que instales un plugin. Si por el contrario, no lo has hecho nunca, pero quieres atreverte, más vale que le eches un vistazo a nuestro artículo: ¿Cómo editar ficheros de WordPress mediante un cliente FTP?

Y muy importante, antes de proceder a realizar cambios en los ficheros de nuestro WordPress debemos realizar una copia de seguridad por lo que pueda pasar. El desarrollo web es una cosa que no hay que tomar a la ligera, y cualquier cambio mal llevado puede dar lugar a un error y a que nuestra web no esté accesible. No cuesta nada realizar un backup de nuestros archivos, antes de ponernos manos en la masa.

posts más comentados

Una vez dicho todo esto, lo primero que tienes que hacer es añadir el siguiente código en el fichero functions.php de tu tema, o en el plugin específico para ello (si es que lo tienes).

function posts_mas_comentados() { 
// iniciamos el buffer de salida
ob_start();
?>
<ul class="mas-comentados">
<?php 
// Ejecutamos WP_Query
// cambiamos el valor de posts_per_page según los posts que queramos mostrar
$query = new WP_Query('orderby=comment_count&posts_per_page=10');

//Empieza el bucle
while ($query->have_posts()) : $query->the_post(); ?>

<li><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a> <span class="wpb-comment-count"><?php comments_popup_link('No Comments;', '1 Comment', '% Comments'); ?></span></li>
<?php endwhile; 
// Fin del bucle
?>
</ul>
<?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');

El código anterior es muy sencillo, te explico. Lo primero que hacemos es realizar una consulta a nuestra base de datos para extraer diez posts ordenados por el número de comentarios de manera ascendiente. Es decir, los más comentados se situarán en primer lugar. Utilizaremos el buffer de salida, para que podemos crear un shortcode más tarde.

En la segunda parte del código, llevaremos a cabo la creación del shortcode y sobre todo su comportamiento. Ahora, si queremos mostrar los resultados, lo único que tenemos que hacer es agregar el shortcode [mas-comentados] en el widget de texto, o bien, en cualquier post o página. Recuerda que para que los shortcodes funcionen en el widget de Texto, tenemos que realizar unos cuantos pasos muy sencillos.

Todo muy bien pero, ¿y si queremos mostrar la miniatura de cada post al lado de su título? Muy sencillo, simplemente tendremos que añadir esta línea justo después del <li> y el título del post.

<?php the_post_thumbnail(array(40,40)); ?>

Los valores utilizados en el array definen el tamaño de la miniatura que acompañará al título. Puedes ajustar este tamaño según tus necesidades.

Para personalizar los resultados de la consulta a base de datos, puedes utilizar las clases .mas-comentados y .contador-comentados en la hoja de estilos de tu tema. Para empezar, puedes utilizar este CSS:

.mas-comentados li { 
border-bottom:1px solid #eee; 
padding-bottom:3px; 
} 
.mas-comentados li :after { 
clear:both;
} 
.mas-comentados img { 
padding:3px;
margin:3px;
float:left;
}
.contador-comentados a, .contador-comentados a:active, .contador-comentados a:visited, .contador-comentados a:hover { 
color:#FFF;
}

Y hasta aquí nuestro artículo sobre cómo mostrar los posts más comentados en WordPress sin plugins. Espero que te haya gustado y, si te ha resultado útil, no dudes en compartirlo en redes sociales.

Icono: Тимур Минвалеев

Guardar

Guardar

Suscríbete a la newsletter





Últimos artículos

Scroll al inicio