我有一堆图片帖子,我想得到那些我没有设置特色图片的图片的ID,以便我可以使用wp_get_attachment_image_src()
获取这些图像的各种大小的URL。
这是我创建的:
$img_posts = get_posts( array(
\'tax_query\' => array(
array(
\'taxonomy\' => \'post_format\',
\'field\' => \'slug\',
\'terms\' => \'post-format-image\',
\'operator\' => \'IN\'
)
)
) );
foreach( (array) $img_posts as $post ) {
setup_postdata( $post );
$imgID = get_img_id();
//img sources
$thumb = wp_get_attachment_image_src($imgID, \'thumb\');
$reg = wp_get_attachment_image_src($imgID, \'large\');
$big = wp_get_attachment_image_src($imgID);
}
The
get_img_id
第6到最后一行的函数可能是我所有问题的根源,如下所示:
function get_img_id() {
global $post;
$id = intval( $post->ID );
$imgID = get_children( array(
\'post_parent\' => $id,
\'post_status\' => \'inherit\',
\'post_type\' => \'attachment\',
\'post_mime_type\' => \'image\',
\'order\' => \'ASC\',
\'numberposts\' => 1
) );
return $imgID;
}
当我这样做时,我没有得到任何错误或输出。如果我添加以下内容
the_content
相反,它可以正常工作。
更新:根据@TheDeadMedic的建议,我尝试了以下方法:
$img_posts = get_posts( array(
\'cat\' => \'2\',
\'tax_query\' => array(
array(
\'taxonomy\' => \'post_format\',
\'field\' => \'slug\',
\'terms\' => \'post-format-image\',
\'operator\' => \'IN\'
)
)
) );
foreach( (array) $img_posts as $post ) {
setup_postdata( $post );
$img_id = get_img_id();
var_dump ($img_id);
}
此返回
array
empty
每个查询的帖子一次。