web-dev-qa-db-ja.com

今日からランダムに投稿するためのWP_Queryの使用

Data_query()のロジックでは。私はこの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();
      ?>

しかし、すべてが3週齢以上の投稿で回転しています。

このロジックはどのように機能していないのですか?

今日$と呼ばれる変数があることに気づいたとしても、私はそれを機能させませんでした...

ありがとう

3
Locke

date_queryで使用したようにパラメータ値Todayがあるとは思いません。

今日の投稿を返したい場合は、現在の日付をdate_query配列に格納したので、$todayに日付の値を指定してください。だから今ここにあなたの質問です。

      $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

次のように、 'Today'ではなく$ todayを使用してください。

$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