WordPress在循环到数组中隐藏帖子ID

时间:2016-09-12 03:44:32

标签: php arrays wordpress

问题:

想要使用我发表的所有文章中的所有$post->ID创建一个数组。但是在我的WordPress中,我有$tokenID,如果与$post->ID匹配,则显示某篇文章的关键。

代码图1

$tokenID = 244; 

$io_ID = new WP_Query( ['post_type' => 'sdm_downloads', 'posts_per_page' => -1] );
while ( $io_ID->have_posts() ) : $io_ID->the_post();

  print_r($post->ID);

endwhile;
wp_reset_postdata();

结果: 255254253251244

这是$post->IDwhile()循环中回显的内容,它应该是255,254,253,251,244

我尝试了str_split,结果几乎接近我想要实现的目标。这是输出。

代码图2

$tokenID = 244; 

$io_ID = new WP_Query( ['post_type' => 'sdm_downloads', 'posts_per_page' => -1] );
while ( $io_ID->have_posts() ) : $io_ID->the_post();

  $arr2 = str_split($post->ID, 3);
  // print_r($arr2);

  if( in_array($tokenID, $arr2) ) {
    $set = 'true';
  } else {
    $set = 'false';
  }

endwhile;
wp_reset_postdata();

echo $set;

print_r的结果:数组([0] => 255)数组([0] => 254)数组([0] => 253)数组([0] = > 251)数组([0] => 244)

条件结果:" true"

*即使$tokenID不同,$set输出仍然会产生true

问题

如何在$post->ID转换为数组时创建条件排列?如果在发布文章之前该值存在,我想首先查看并匹配$tokenID$post->ID

1 个答案:

答案 0 :(得分:1)

也许这个解决方案有帮助!

$tokenID = 244; 
$all_posts = get_posts('post_type=sdm_downloads');
$all_id = array();
foreach( $all_posts as $all_post ) {
$all_id[] = $all_post->ID;
}
//$arr2 = str_split($all_titles, 3);
if( in_array($tokenID, $all_id) ) {
    $set = 'true';
  } else {
    $set = 'false';
  }
echo $set;