如何比较wordpress中的帖子ID

时间:2014-07-16 12:28:33

标签: php wordpress

我使用以下代码获得了在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()”?

2 个答案:

答案 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...
                       }
             }?>

希望它有所帮助。