WordPress通过SQL查询获取帖子

时间:2019-07-10 13:35:32

标签: php mysql wordpress

我抓取了wordpress用于显示默认日历的代码,它获取的日期如下:

if ( $day == current_time( 'j' ) &&
    $thismonth == current_time( 'm' ) &&
    $thisyear == current_time( 'Y' ) ) {
}

使用这些值(日,月和年),我如何编写一个mysql查询来提取在该特定日期创建的帖子?

我尝试以this link作为参考,但是我的SQL技能几乎没有。

已编辑:

我的表名是“ wp_posts”,日期列名为post_date。

根据这里的答案,我做了以下事情:

$date = new DateTime($thisyear."-".$thismonth."-".$day);

$date->setTime($hours, $minutes, $seconds);

$date_format = $date->format("Y-m-d H:i:s");

$request = $pdo->query("SELECT * FROM $wpdb->posts WHERE post_date = ".$date_format);

$result = $request->fetch();

但是当我var_mp $ result时,什么也没发生

var_dump($result);

2 个答案:

答案 0 :(得分:0)

如果数据库的字段为“ DATE”类型,则可以(使用PDO):

$date = new DateTime($thisyear."-".$thismonth."-".$day); //__Create my object date

$date_format = $date->format("Y-m-d"); //__Date formatting

$request = $pdo->query("SELECT * FROM my_table WHERE date_article = ".$date_format); //__Create my SQL query

$result = $request->fetch() //__Or 'fetchAll' if many result could be possible

编辑


如果数据库字段的类型为“ DATETIME”,则可以(使用PDO):

$date = new DateTime($thisyear."-".$thismonth."-".$day); //__Create my object date

$date->setTime($hours, $minutes, $seconds);

$date_format = $date->format("Y-m-d H:i:s"); //__Date formatting

$request = $pdo->query("SELECT * FROM my_table WHERE date_article = ".$date_format); //__Create my SQL query

$result = $request->fetch() //__Or 'fetchAll' if many result could be possible

$result将在您的文章中包含您的数组。

答案 1 :(得分:0)

抱歉,我无法对以上答案发表评论。所以我要发表评论作为答案。

我相信会返回注释,因为您的查询不匹配任何值。

第一

  

转储$date_format并查看输出。

第二

  

将您获得的输出与post_date

中的值进行比较

最后

  

编辑$date_format的结构以相应地匹配post_date中的值。

相关问题