Ultimo post de varias categorias en una sola consulta

Inicio Foros WordPress Programación Ultimo post de varias categorias en una sola consulta

Etiquetado: , , , ,

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

  • Autor
    Publicaciones
  • #21032

    marcejavier
    Participante

    <p>Le comento, un sidebar llama un post de cada categoria,y son 11 categorias, por el cual uso el siguiente loop por cada categoria:</p>
    <p>&lt; ?php query_posts(‘showposts=1&amp;cat=13’); ? &gt;<br />
    &lt; ?php while (have_posts()) : the_post(); ? &gt;<br />
    &lt; ?php endwhile; wp_reset_query(); ? &gt;</p>
    <p>Obviamente esto me esta generando bastantes consultas sql cada vez que quiero recuperar un post de cada categoria designada</p>
    <p>Ahora, como puedo hacer un solo loop que me recupere el ultimo post de cada categoria que yo designe?</p>
    <p>Probe con esto, pero no funciona, solo obtengo post de la primera categoria que esta como argumento, osea la 13:</p>
    <p>&lt; ?php<br />
    $args = array(<br />
    ‘caller_get_posts’ = &gt; 1,<br />
    ‘category__in’ = &gt; array(13,16,6,33,34,27,8,10,15,11,9), </p>
    <p>); </p>
    <p>query_posts($args);? &gt;<br />
    &lt; ?php while (have_posts()) : the_post(); ? &gt;</p>
    <p>Lei por ahi que utilizar WP_query () es mucho mejor para las consultas, entonces intento probar con esto:</p>
    <p>$query = new WP_Query( array( ‘category__and’ =&gt; array( 13,16,6,33,34,27,8,10,15,11,9 ) ) );</p>
    <p>pero con esto, como hago para obtener solo el ultimo post de cada categoria pasada como parametro, en cual debo recuperar el titulo del post, el permalink y el titulo de la categoria de cada id del array?</p>
    <p>Si yo los molesto con esto es porque he intentado encontrar la solucion, pero no puedo dar con ella.</p>
    <p>Obviamente, que con esto, yo ahorraria algo asi como 30 consultas resumiendo en un solo loop como el que necesito para optimizar las consultas, muchas gracias a todos,
    </p>

  • #51753

    LGrusin
    Miembro

    Vaya no había visto el hilo.

    En el Foro de WordPress.org encontré este código que no he podido probar.

    Utiliza dos foreach uno dentro de otro. El primero para mostrar la categoría y el segundo para mostrar el post de cada categoría. Creo que te puede servir perfectamente y en caso contrario sólo hacer alguna modificación. Lo miraré con más calma.

    Un saludo

  • #51757

    marcejavier
    Participante

    mil gracias, ya lo pruebo aver que pasa, gracias LGrusin como siempre.

  • #51759

    marcejavier
    Participante

    Bueno, hice esto tomando como base lo pasado enteriormente, y lo que logro con esto es que solo recupero el ultimo post solo de la categoria 13…. no veo como dar con el error, ya que sobre php se hasta ahi….gracias

  • #51761

    LGrusin
    Miembro

    A ver, ¿Son muchas las categorías? Si muestras la mayoría de categorías quizás sea más fácil decirle las que excluyes. Por ejemplo, suponiendo que no quieras la 15, 23 y 34. Sería asi:

    Sólo hay que cambiar la línea

    por

    Esta línea lo que hace es ordenarlas por nombre de la A a la Z y deja fuera las categorías 15, 23 y 34

    Ten en cuenta también que aquí no hay estilos, los tendrás que poner si quieres alguna presentación especial. Eso lo hacemos al final cunado esté funcionado bien el código.

    Un saludo

El foro ‘Programación’ está cerrado y no se permiten nuevos debates ni respuestas.

Pin It on Pinterest