我有以下问题,我已使用查询了帖子的附加媒体:
function abc_attachments( $post_id ) {
$query = array(
\'post_parent\' => $post_id,
\'post_type\' => \'attachment\',
\'post_status\' => \'inherit\',
\'post_mime_type\' => \'image\',
\'numberposts\' => \'-1\'
);
$images = get_children( $query );
return $images;
}
因此,我得到了一个对象数组。但不知何故,我无法将对象密钥传输到新的单独数组。例如,对象数组如下所示(我省略了包含的键值对):
Array
(
[1074] => WP_Post Object
(
)
[1067] => WP_Post Object
(
)
)
当我尝试使用
foreach
然后将对象键写入我得到的数组
Catchable fatal error: Object of class WP_Post could not be converted to string
使用以下代码段:
$media = abc_attachments( $post->ID );
foreach( $media as $key ) {
$arrayofids .= $key . ", ";
}
preprint($arrayofids);
有没有更优雅、更不致命的方法?
最合适的回答,由SO网友:rkoller 整理而成
好吧,我有点头晕;通过以下代码片段,我能够按预期工作:
$media = abc_attachments( $post->ID );
$arrayofids = array();
foreach( $media as $key ) {
array_push($arrayofids, $key->ID);
}
preprint($arrayofids);
从而产生以下输出:
Array
(
[0] => 1072
[1] => 1067
)