Ayuda con Loop personalizado

Inicio Foros WordPress Themes y Diseño Ayuda con Loop personalizado

Etiquetado: ,

Este debate contiene 4 respuestas, tiene 2 mensajes y lo actualizó  malder hace 6 años.

  • Autor
    Publicaciones
  • #66960

    malder
    Participante

    Buenas

    Soy nulo en php, por mucho que leo el blog no me entero de como hacer lo siguiente

    Lo que pretendo es modificar el loop de manera que los 2 primeros post tengan una capa y estilos diferentes, del 3 al 5 que tengan otro estilo y tamaño diferente y del 9 al 11 otro también diferente.
    <?php
    $args = array(
    ‘posts_per_page’ => 11
    );
    $the_query = new WP_Query( $args );
    $contador = 0;
    while ( $the_query->have_posts() ) : $the_query->the_post();
    ++$contador;
    // comprobamos cuanto tiene el contador, si es menor o igual que 2, mostramos el post con un diseño
    if ($contador <= 2) { ?>
    <div class=”estilo1″>
    <h2><?php the_title(); ?></h2>
    <?php the_excerpt(); ?>
    </div>
    <?php // ahora nos fijamos que sea mayor que 2 y menor que 5 para otro diseño
    } elseif ($contador > 2 && $contador < 5) { ?>
    <div class=”estilo2″>
    <h2><?php the_title(); ?></h2>
    <?php the_excerpt(); ?>
    </div>
    <?php // finalmente nos fijamos que sea mayor que 6 para añadir el último estilo.
    } elseif ($contador > 6 ) { ?>
    <div class=”estilo3″>
    <h2><?php the_title(); ?></h2>
    <?php the_excerpt(); ?>
    </div>
    <?php } endwhile; ?>
     

    Una compañera me ha prestado este código, que hace esta funcion perfectamente al parecer.
    El problema que tengo es que cada loop está colocado en una parte diferente de la estructura, y entre los loops hay capas que forman parte de la estructura del blog, o sea no va todo seguido, entonces todo se rompe y se repite.

    ¿Como puedo hacer para solucionar este problema?

    Gracias

  • #66961

    LGrusin
    Miembro

    Si sólo quieres cambiar el aspecto del post al cambiar de clase, creo que no debes tocar el loop, simplemente comprobar con una variable qué post es el que se está mostrando.

    Ejemplo,
    <?php $contador = 0; ?>
    <?php while ( have_posts() ) : the_post(); ?>
    <?php $contador ++; ?>
    <?php if ($contador <= 2) { ?>
    <div class=”estilo1″>
    <?php }
    elseif ($contador > 2 && $contador < 5) { ?>
    <div class=”estilo2″>
    <?php } else { ?>
    <div class=”estilo3″>
    <?php } ?>
    —- Aqui el código para mostar los posts —–
    </div>
    <?php endwhile; ?>

    Si quieres algo más complicado entonces habrá que pensarlo mejor…

    Un saludo

  • #66964

    malder
    Participante

    Hola, gracias por tu ayuda, pienso que no me he explicado bien.

    Me gustaría mostrar los articulos por orden cronológico dsdendente, como siempre salen, o sea ultima noticia la 1º. Luego pretendo colocar cada articulo en una posicion diferente, por ejemplo los dos primeros van en una capa, y los siguientes en otra capa totalmente diferente, pero también situada en otro lado de la estructura.

    Lo que me pasa ahora, es como el loop no se puede separar, las 2 primeras noticias salen pero las capas de alrededor se suplican, al no cerrar el loop (entiendo) entonces todo se dscuadra.

    Intentaré con una imagen explicarlo:

    http://s16.postimage.org/w8ix1h7ur/loop.jpg

    En este ejemplo, si coloco el código anteriormente pubblicado por mi, la capa gris se duplica y rompe la estructura.

  • #66981

    LGrusin
    Miembro

    Por lo que puedo entenderte no parece que tengas un problema de PHP sino un problema de CSS a la hora de alinear las cajas.

    ¿Podemos saber qué theme es?

    Saludos

  • #66983

    malder
    Participante

    Hola LGrusin, pues es un theme que estoy creando yo. como te lo puedo mostrar?

El foro ‘Themes y Diseño’ está cerrado y no se permiten nuevos debates ni respuestas.

Pin It on Pinterest

Ir al contenido