我有a function 返回特定用户可以访问的帖子ID的逗号分隔列表。我想在WP\\U查询循环中使用此列表。
自定义功能:
$array = user_albums();
foreach( $array as $post ) {
if( !in_array( $post->ID, $array ) )
$ids[] = $post->ID;
}
$access_ids = implode( \', \', $ids );
情况如下:
在我的测试站点上,id列表是158, 162, 145, 269
.插入ID列表只返回第一篇文章。\'post__in\'=> array(
$access_ids ),
插入不在数组中的ID列表将返回错误。\'post__in\'=> $access_ids ,
手动插入帖子ID将返回correctposts\'post__in\'=> array( 158, 162, 145, 269 ),
What could I be doing wrong?<我感谢你的帮助。
最合适的回答,由SO网友:Rob Vermeer 整理而成
$access_ids
是字符串。post__in
接受数组。
因此,您可以使用\'post__in\'=> $ids
跳过$access_ids = implode( \', \', $ids );
全部加在一起。
SO网友:Rarst
那个implode()
可能是破坏事物的原因:
$access_ids = \'158, 162, 145, 269\';
$array = array($access_ids); //wrong
var_dump( $array );
// array
// 0 => string \'158, 162, 145, 269\' (length=18)
$array = array_map( \'trim\', explode( \',\', $access_ids ) ); // right
var_dump( $array );
//array
// 0 => string \'158\' (length=3)
// 1 => string \'162\' (length=3)
// 2 => string \'145\' (length=3)
// 3 => string \'269\' (length=3)