Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

Filtrar entradas

Estas en el tema de Filtrar entradas en el foro de WordPress en Foros del Web. De nuevo por aqui amigos mios espero que esten super, en esta ocacion quiero pasarles mi loop por que no encuentro la forma de filtrar ...
  #1 (permalink)  
Antiguo 26/08/2014, 22:12
Avatar de satanson123  
Fecha de Ingreso: julio-2012
Mensajes: 217
Antigüedad: 9 años, 2 meses
Puntos: 2
Filtrar entradas

De nuevo por aqui amigos mios espero que esten super, en esta ocacion quiero pasarles mi loop por que no encuentro la forma de filtrar las entradas mas comentadas para darles otro estilo.

Código PHP:
    <?php
    
     
if(have_posts()) : ?>
    <?php while(have_posts()) : the_post(); ?>

    <article class="post" id="post-<?php the_ID(); ?>">
       
       
    <section id="thumbnail"><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_post_thumbnail(array(150,150)); ?></a>
   
    </section>
 
        <section id="post-contenido">
        <section id="title"><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></section>
        
           <section class="excerpt"> <?php the_excerpt2('160'); ?></section>
           
            </section> 
            
   
    </article>
    <section style="clear:both;"></section>
   <section class="leer">
  
     <section class="leer-mas"><a href="<?php the_permalink(); ?>" title="Leer más sobre: <?php the_title(); ?>">Leer más</a></section>&nbsp;|&nbsp;<a href="<?php the_permalink(); ?>/#disqus_thread"><img src="<?php echo get_template_directory_uri(); ?>/images/comment.png" width="12" />&nbsp;<?php comments_number'0 Comentarios''1 Comentario''{num} Comentarios' ); ?></a>
  
  <section class="info-post"><?php the_author_posts_link(); ?> - <time><?php echo 'Hace 'human_time_diff(get_the_time('U'), current_time('timestamp')); ?></time></section>
   </section>
    <hr style="color:#cecece; opacity: 0.3;
    filter: alpha(opacity=30);" />
  
    <?php endwhile; ?>
 
    <section class="paginador">
   <?php wp_pagenavi(); ?>
    </section>
 
    <?php endif; ?>
  #2 (permalink)  
Antiguo 27/08/2014, 06:11
Avatar de webosiris
Moderador egiptólogo
 
Fecha de Ingreso: febrero-2002
Ubicación: Luxor, Egipto
Mensajes: 10.725
Antigüedad: 19 años, 8 meses
Puntos: 998
Respuesta: Filtrar entradas

debes de crear un WP_Query que ordene los resultados por comment_count. Algo así:

Código PHP:
Ver original
  1. <?php
  2. $args = array('posts_per_page' => 5, 'orderby' => 'comment_count', 'order'=> 'DESC' );
  3. $loop = new WP_Query( $args );
  4. while ($loop->have_posts() ) : $loop->the_post();
  5.  
  6.  
  7. // código dentro del loop
  8.  
  9. endwhile;
  10. wp_reset_postdata();
  11. ?>

eso te genera una lista con los 5 posts que tengan más comentarios.


PD: estás usando mal el SECTION de HTML5. Si quieres un elemento para dar estilo, usa DIV
__________________
Pasamos tus PSD a HTML

Pobre del que lo sabe todo, porque no tiene nada más que aprender ni razón para vivir. -
  #3 (permalink)  
Antiguo 27/08/2014, 13:47
Avatar de satanson123  
Fecha de Ingreso: julio-2012
Mensajes: 217
Antigüedad: 9 años, 2 meses
Puntos: 2
Respuesta: Filtrar entradas

Cita:
Iniciado por webosiris Ver Mensaje
debes de crear un WP_Query que ordene los resultados por comment_count. Algo así:

Código PHP:
Ver original
  1. <?php
  2. $args = array('posts_per_page' => 5, 'orderby' => 'comment_count', 'order'=> 'DESC' );
  3. $loop = new WP_Query( $args );
  4. while ($loop->have_posts() ) : $loop->the_post();
  5.  
  6.  
  7. // código dentro del loop
  8.  
  9. endwhile;
  10. wp_reset_postdata();
  11. ?>

eso te genera una lista con los 5 posts que tengan más comentarios.


PD: estás usando mal el SECTION de HTML5. Si quieres un elemento para dar estilo, usa DIV
Gracias por tu respuesta y gracias por la parte de section. Para el proximo proyecto lo usare como se debe.

Etiquetas: entradas, filtrar, php, post
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:16.