Cómo mejorar la visualización de los posts más comentados

  • Autor Autor Juanjo87
  • Fecha de inicio Fecha de inicio
J

Juanjo87

Gamma
Diseñador
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Muy buenas, pues necesito ayuda con este código.
tengo este codigo que seria para mostrarme los post mas comentados

PHP:
<?php 
function popularPosts($num) {
global $wpdb;
$posts = $wpdb->get_results("SELECT comment_count, ID, post_title FROM $wpdb->posts ORDER BY comment_count DESC LIMIT 0 , $num");
foreach ($posts as $post) {
setup_postdata($post);
$id = $post->ID;
$title = $post->post_title;
$thumb = get_the_post_thumbnail($post->ID);
$count = $post->comment_count;

if ($count != 0) {
$popular .= '<li>';
$popular .= '<a href="' . get_permalink($id) . '" title="' . $title . '">' . $thumb . '</a> ';
$popular .= '</li>';
}
}
return $popular;
}
?>

esto lo cargo desde el function.php y lo muestro en la plantilla así:
PHP:
<?php echo popularPosts(10); ?>

y funciona correctamente, pero, necesito agregarle esto al primer codigo:
PHP:
<li class="<?php echo $post->post_title; ?>">
<div class="list-add-2"><?php $arg = array ('echo' => true);do_action('gd_mylist_btn',$arg);?></div>
<a class=""rel="nofollow" href="<?php the_permalink(); ?>"><?php the_post_thumbnail('medium'); ?></a>
</li>

sustituyendo esto:
PHP:
$popular .= '<li>';
$popular .= '<a href="' . get_permalink($id) . '" title="' . $title . '">' . $thumb . '</a> ';
$popular .= '</li>';

pero tal cual, me tira error.
Como puedo añadirle ese código al primero? no se si me explico bien
 
Si lo estás sustituyendo tal cual es normal que te dé error. El penúltimo código, el que estás metiendo, no es PHP sino HTML con PHP dentro.
 
Claro, necesito poder meterle html para manejarlo mejor, pues lo domino algo mas que el php.

Existe alguna forma de hacerlo?
 
¿Por qué no usas un plugin? Además, yo crearía un Widget, aunque todo depende en donde deseas visualizar ese contenido.

Aun así, la variable $count no contiene un conteo, sino el total de comentarios del post que está procesando en ese momento. Podrías usar for() en vez de foreach(), así sabría en cada momento en qué interación estás gracias al conteo del for().
 
Atrás
Arriba