Mostrar los artículos más comentados con un shortcode

AVISO IMPORTANTE

Este artículo tiene más de dos años, así que su contenido podría no funcionar con tu versión de WordPress o con la versión actual.
Por favor, haz una copia de seguridad y comprueba que todo funciona correctamente antes de hacer los cambios definitivos en tu web.

Cómo podemos mostrar los artículos más comentados con un shortcode

Si tienes un blog, en alguna ocasión necesitarás mostrar los artículos más comentados en algún lugar concreto de tu página web. Con este código podrás hacerlo en poco tiempo y de una forma sencilla, tan solo debes utilizar el código que te muestro a continuación y crear el shortcode.

Te hago un spoiler, este código es bastante extenso y hace muchas cosas que te comentará más adelante, por lo que, como siempre, te aconsejo copiar y pegar sin hacer demasiadas preguntas 🙂

Código que vamos a utilizar

El código que usaremos en esta ocasión es el siguiente:

function display_most_commented_posts() {
// start output buffering
ob_start();
?>
<ul class="most-commented">
<?php
// Run WP_Query
// Change posts_per_page value to limit the number of posts
// Set ignore_sticky_posts value to 1 to not include sticky post
// this is because even if it has 0 comment, it will always appear on top
// if you wish to include sticky post, remove the parameter or set it to 0
$query = new WP_Query('ignore_sticky_posts=1&orderby=comment_count&posts_per_page=10');
//begin loop
while ($query->have_posts()) : $query->the_post(); ?>
<li><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a> <span class="dmcp-comment-count"><?php comments_popup_link('No Comments;', '1 Comment', '% Comments'); ?></span></li>
<?php endwhile; // end loop ?>
</ul>
<?php
// Turn off output buffering
$output = ob_get_clean();
//Return output
return $output;
}

Vamos a explicar brevemente lo que hace este código: en primer lugar, se almacenan en el buffer (una memoria interna), los artículos más comentados y los mostrará mediante viñetas. A continuación se le dice al código que ignore los artículos «destacados» que se muestran en la parte superior de la página (lo que se denomina contenido esencial).

A continuación. este código crea un contador con el número de comentarios y por último, cerrar el buffer.

Y ahora vamos a crear el shortcode

Al anterior código tienes que añadirle el que te mostraré a continuación, que sirve para crear el shortcode necesario para

// create the shortcode
add_shortcode('dmcp_most_commented', 'display_most_commented_posts');
// make sure widgets accept/parse shortcodes properly
add_filter('widget_text', 'do_shortcode');

Y ya lo tenemos, tan solo tienes que copiar ambos códigos y pegarlos en tu plugin de snippets.

Puede que también te interese...

Deja una respuesta

Información básica sobre protección de datos
Responsable: Jose González Bueno.
Finalidad: Moderación y publicación de comentarios.
Destinatarios: No se comunican datos a terceros, salvo por imperativo legal.
Derechos: Tienes derecho a acceder, rectificar, exportar y suprimir tus datos.

Tu dirección de correo electrónico no será publicada.

He leído y acepto la política de privacidad de este sitio. *