我使用以下代码获得了在1天之前发布的帖子ID。
我必须在首页(index.php)中突出显示这些帖子ID标题。
$today = current_time('mysql', 1);
$aa = 1;
if($recentposts = $wpdb->get_results("SELECT ID, post_title FROM $wpdb->posts WHERE post_status = 'publish' AND post_date > '" . date('Y-m-d', strtotime("-$aa days")) . "' ORDER BY post_modified_gmt DESC")):
foreach($recentposts as $post) {
echo $post->ID;
}
endif;
在has_post()循环中如何检查条件“$ post-> ID == get_the_ID()”?
答案 0 :(得分:1)
WP-Functions有一个WordPress Reference。这将帮助您从WP本身获取许多信息(无需直接查询数据库)。
例如,您可以使用函数get_post($id)通过其ID获取发布数据(如果您还没有数据数组)或直接使用get_the_ID()函数。
编辑:上面已经描述了get_the_ID();)
使用get_post()就可以这样:
foreach($recentposts as $post) {
echo "ID is: ".$post->ID."<br><br>";
$p = get_post($post->ID);
print_r($p);
}
在结果数组中,您拥有带有时间戳(已创建/更新)的值,您可以轻松地比较此值是否为“今天”,例如。通过使用这样的东西。
if(date("ddmmyy",time()-86400) == date("ddmmyy",$p['created'])){}
答案 1 :(得分:0)
如果我理解正确,你想要将循环中的post id与某些值进行比较。如果是这样,您可以尝试以下代码
<?php while ( $query->have_posts() ) {
$query->the_post(); ?>
<?php if (get_the_ID() >value) {
...highlight...
}
}?>
希望它有所帮助。