web-dev-qa-db-fra.com

Utilisation de WP_Query pour obtenir des messages de manière aléatoire à partir d'aujourd'hui

Dans la logique du data_query (); J'ai trouvé cet exemple WP_Query:

<!-- Second Senses Featured -->
    <ul id="featuredSecond" class="featured-second">

      <?php
      $today = getdate();
      $args = array(
        'tag_slug__in' => array( 'destacado'),
        'posts_per_page' => 2,
        'post_type' => 'any',
        'offset' => 3,
        'orderby' => 'Rand',
        'date_query' => array(
          array(
            'after' => 'Today',
            'inclusive' => true,

            )
          ),
        'post_status' => array(
          'publish'
          )
        );

      $featured = new WP_Query($args);

      if ( $featured->have_posts() ) :
        while ( $featured->have_posts() ) : $featured->the_post();
      ?>

      <li id="<?php the_slug(); ?>-<?php the_id(); ?>">
        <article id="post-<?php the_id(); ?>" class="cf"  role="article">

          <?php featured_content('thumb-480x300'); ?>

          <div class="featured-box">
            <h1 class="featured-title cf">
              <a href="<?php the_permalink() ?>">
                <?php the_title(); ?>
              </a>
            </h1>
          </div>
          <!--featured-box-->

        </article>

      </li>
      <?php
      endwhile;
      endif;
      wp_reset_postdata();
      ?>

Mais tout tourne avec la poste à 3 semaines .. ou plus!

comment cette logique ne fonctionne pas?

si vous remarquez qu'il existe une variable appelée $ aujourd'hui, mais que je ne l'ai pas fait fonctionner ...

merci

3
Locke

Je ne pense pas qu'il existe une valeur de paramètre Today telle que vous l'avez utilisée dans date_query.

Si vous souhaitez renvoyer l'article d'aujourd'hui, vous devez indiquer la valeur de date à date_query, car vous avez enregistré la date du jour dans le tableau $today. Alors, voici votre requête maintenant.

      $today = getdate();
      $args = array(
        'tag_slug__in' => array( 'destacado'),
        'posts_per_page' => 2,
        'post_type' => 'any',
        'offset' => 3,
        'orderby' => 'Rand',
        'date_query' => array(
            array(
              'year'  => $today['year'],
              'month' => $today['mon'],
              'day'   => $today['mday'],
            ),
          ),
        'post_status' => 'publish',
        );

        $featured = new WP_Query($args);
4
Robert hue

Vous devriez utiliser $ aujourd'hui au lieu de 'aujourd'hui', comme ceci:

$today = getdate();
$args = array(
    'tag_slug__in' => array( 'destacado'),
    'posts_per_page' => 2,
    'post_type' => 'any',
    'offset' => 3,
    'orderby' => 'Rand',
    'date_query' => array(
      array(
        'after' => $today,
        'inclusive' => true,
        )
      ),
    'post_status' => array(
      'publish'
      )
    );
  $featured = new WP_Query($args);
0
CarambaMoreno