post con distinto formato en la misma pagina

Inicio Foros WordPress General WordPress.org post con distinto formato en la misma pagina

Este debate contiene 2 respuestas, tiene 2 mensajes y lo actualizó  guardafaro hace 9 años.

  • Autor
    Publicaciones
  • #14883

    guardafaro
    Participante

    <p>Hola, tengo un problemilla que no logro resolver y quisiera a ver si alguien me echa una mano.<br />
    En la página de inicio de un blog quiero presentar varios posts: el primero (el más reciente o último) con un formato (color, fondo, letra, etc) definido en el CSS por una "clase: primero". El segundo con un formato definido por la "clase: segundo", y así hasta el cuarto. Desde el quinto post en adelante se presentarán en la forma definida por la "clase:normal".</p>
    <p>He estado dándole vueltas a la estructua condicional a colocar en el index.php; pero como mis conocimientos de PHP son flojos, cuando no me sale un error por un lado me sale por el otro, y no logro sacarla adelante satisfactoriamente. Entiendo que debo iniciar un contador de los post y una condicional que indique algo así:</p>
    <p>Si es el primer post: aplicar clase="primero"; mostrar el post<br />
    Si es el segundo post: aplicar clase="segundo" ; mostrar el post<br />
    Y así sucesivamente hasta el cuarto.</p>
    <p>Luego, en caso de que ya no sea ninguno de los anteriores, (contador&gt;4), aplicar la "clase: normal", para todos los demás post. </p>
    <p>¿Alquien podría indicarme cómo sería ese trozo de código?
    </p>

  • #33887

    imported_study
    Participante

    Mira, voy a usar el ciclo de mi theme como ejemplo; espero que el tuyo sea igual por defecto mi ciclo esta así en el index.php (toma en cuienta que este foro tiende a cortar el código, así que podria salir incompleto):

    Fijate en la linea:

    Ya que en mi caso esta va a ser la div que voy a querer personalizar (especificamente la clase). Una cosa importante, que no aclaras es si esa condicion de colorear los últimos post debe cumplirse nada mas que en la home o tambien en las categorias. Yo voy a suponer que es nada mas que en la home.

    Entonces vamos a declarar una variable que va a servirnos de contador (importante, hay que declararla antes del ciclo while):

    Lo que vamos a hacer entonces es preguntar si estamos en la frontpage (si es que tus post estan el la home). Para eso vamos a usar el siguiente código:

    Entoces si estamos en la home incrementamos el contador en uno y luego usamos decision multiple (o sea un switch), sino imprimimos simplemente “entry”:

    Nuestro código queda mas o menos así:

    Fijate que reemplace la clase ‘entry’ por todo nuestro código y declare la variable cont, antes de entrar al ciclo. Esto en teoria deberia funcionar (y digo en teoria porque no lo probé). Ahora nada mas tenes que definir en los css las clases entry, entry1, entry2, entry3 y entry4.

    Espero que te sirva y sobre todo…ESPERO QUE FUNCIONE. 🙂

  • #33927

    guardafaro
    Participante

    study, una explicación muy detallada y paciente. Me parece interesante esta alternativa que presentas, con los switch case y, a simple vista parece que debiera funcionar. Lo pruebo y ya te diré como me ha ido, si no cometo ningún error llenando los correspondientes codigos de lo que quiero poner entre cada case, porque no estoy muy familiarizado con esta forma de trabajar del < ?php… abierto.

El foro ‘General WordPress.org’ está cerrado y no se permiten nuevos debates ni respuestas.

Pin It on Pinterest