• Resuelto eliezer.tapia

    (@eliezertapia)


    Quiero obtener tres últimos Posts pero se muestran en un momento dado otros.
    ver codigo:
    <?php
    $args = array( ‘posts_per_page’ => 3,’offset’=> 1, ‘orderby’=> ‘post_date’, ‘order’=> ‘DESC’,’post_status’ => ‘publish’,’cat’ =>25763,’category_name’ => ‘nosotras’,’date_query’ => array(array(‘column’ => ‘post_date’,’after’ => ‘3 months ago’,),), );

    $my_post = new WP_Query( $args );

    if ( $my_post->have_posts() ) {
    while ( $my_post->have_posts() ) {
    $feat = wp_get_attachment_image_src( get_post_thumbnail_id($my_post->ID), ‘bigsuplementos-portada’ ); $feat_image = $feat[0];
    ?>
    <div class=»col-md-6 no-padding»> <div class=»sups destacado-sup»>
    <img src=»<?php echo $feat_image;?>» />
    <div class=»contenido-destacado-sups animate»>
    <div class=»contenido-destacado-sups»>
    <h3><?php the_title();?></h3>
    <p><?php the_excerpt();?></p>
    </div>
    </div>
    </div>
    </div>
    <?php } } ?>

Viendo 7 respuestas - de la 1 a la 7 (de un total de 7)
  • Moderador LGrusin

    (@lgrusin)

    Creo que la mayoría de los parámetros te los puedes ahorrar porque vienen por defecto.

    El ‘posts_per_page’ => 3, las categorías y poco más según lo que quieras hacer.

    El offset si lo pones a 1 te salta un post. Tampoco tengo claro lo del after.

    https://codex.wordpress.org/Class_Reference/WP_Query

    Un saludo

    Iniciador del debate eliezer.tapia

    (@eliezertapia)

    Es after es porque tengo un sitio de prueba con una base de datos vieja pero e notado que si veo el tiempo de ejecucion del script php con el after es mas rapido en comparacion a omitirlo y por otro lado no se porque los posts cambian, y no es igual a la lista que se presenta en las entradas bajo el filtro de la categoria.

    Alguna idea please?

    Saludos cordiales

    Moderador almendron

    (@almendron)

    El código básico es:

    <?php
    // The Query
    query_posts( $args );
    
    // The Loop
    while ( have_posts() ) : the_post();
        echo '<li>';
        the_title();
        echo '</li>';
    endwhile;
    
    // Reset Query
    wp_reset_query();
    ?>

    No te olvides del reset.
    https://codex.wordpress.org/Function_Reference/query_posts

    Iniciador del debate eliezer.tapia

    (@eliezertapia)

    Gracias Almendron por tus comentarios.
    Hice el cambio a la forma basica y con el reset query, pero sinembargo el resultado es el mismo. No logro entender porque los post cambian. No se si me falta algo en el arreglo o esta mal implementado o necesito quitarle algun item, pero concidero que contiene lo necesario, veo los posts bajo la misma categoria pero no los tres primero los cambia como si fuera random

    Moderador almendron

    (@almendron)

    Yo iría probando con la forma básica pero con solo un argumento (número de posts). Si así funciona, ir añadiendo argumentos a ver qué pasa,

    Iniciador del debate eliezer.tapia

    (@eliezertapia)

    Gracias almendron el tip fue bueno, fui ajustando el arreglo hasta que logre obtener los items de la manera correcta.

    $args = array( ‘posts_per_page’ => 3,
    ‘orderby’=> ‘post_date’,
    ‘order’=> ‘DESC’,
    ‘post_status’ => ‘publish’,
    ‘cat’ =>25763)

    Moderador almendron

    (@almendron)

    De nada. Un saludo.

Viendo 7 respuestas - de la 1 a la 7 (de un total de 7)
  • El debate ‘Los posts se muestran aleatorios y no los tres últimos’ está cerrado a nuevas respuestas.