如何获取特定日期的帖子-WP查询

时间:2018-08-03 作者:topper1309

我想获得特定日期的帖子,我尝试了以下代码,但没有得到我想要的结果。

<?php
$mil = 1532996880000;
$seconds = $mil / 1000;
$dt = date( "Y-m-d", $seconds );

$post_by_date = $wpdb->get_row("
    SELECT * FROM {$wpdb->posts}
    WHERE post_date = $dt
    AND post_status = \'publish\'
");

WP QUERY

$posts = get_posts(array(
    \'post_type\' => \'post\',
    \'date\' => $dt,
    \'posts_per_page\' => 1
));
这不起作用,因为$dt = 2018-07-31, 但输出没有显示任何结果。因为它与2018-07-31 09:09:40. 那么,有没有办法获得特定日期的帖子呢?

2 个回复
最合适的回答,由SO网友:Max Yudin 整理而成
<?php
//  primarily get $year, $month and $day
$args = array(
    \'date_query\' => array(
        \'year\'  => $year,
        \'month\' => $month,
        \'day\'   => $day,
    )
);

$query = new WP_Query( $args );

if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {

        // do whatever here

    }
}
SO网友:Trilok

请使用日期查询,也请使用下面的代码,希望它能为您工作

$mil = 1532996880000;
$seconds = $mil / 1000;
$dt = date( "Y-m-d", $seconds );
 $year =  date( "Y", $seconds );
 $month =  date( "m", $seconds ); 
 $day =  date( "d", $seconds );


$args = array(
 \'date_query\' => array(
  array(
   \'year\'  => $year,
   \'month\' => $month,
   \'day\'   =>$day,
  ),
 ),
);
$query = new WP_Query( $args );

// The Loop
if ( $query->have_posts() ) {
    echo \'<ul>\';
    while ( $query->have_posts() ) {
        $query->the_post();
        echo \'<li>\' . get_the_title() . \'</li>\';
    }
    echo \'</ul>\';
    /* Restore original Post Data */
    wp_reset_postdata();
} else {
    // no posts found
}

结束

相关推荐

A MySQL DB within a MySQL DB

我有一个客户不想切换托管提供商。此提供程序只允许每个客户端有一个数据库。我正在为客户端设置一个沙盒,不希望在沙盒和生产网站之间共享数据库。我可以在沙盒网站的数据库中放置数据库吗?如果是这样的话,我希望得到一些关于如何做到这一点以及如何让WordPress访问嵌套数据库的建议。