我有一个功能get_images()
在其中,我希望在列表中显示当前帖子(或页面)的所有图像附件,其中最后一个图像具有class="last"
属性将其标记为列表中的最后一个图像。
下面的代码是我第一次获得要显示的附加图像,然而,它只列出了循环中的一个图像,所以我的foreach是拙劣的。。。
function get_images() {
global $post;
$attachment = array_values(get_children(array(
\'post_parent\' => $post->ID,
\'post_type\' => \'attachment\',
\'post_mime_type\' => \'image\',
\'order\' => \'ASC\',
\'numberposts\' => 1
)));
if ( $attachment ) {
foreach($attachment as $attachmentImage) {
echo \'<img src="\' . wp_get_attachment_url($attachmentImage->ID) .
\'" class="post-attachment" />\';
}
}
}
最合适的回答,由SO网友:goldenapples 整理而成
我认为这应该可以做到:
function get_images() {
global $post;
$attachment = get_children(array(
\'post_parent\' => $post->ID,
\'post_type\' => \'attachment\',
\'post_mime_type\' => \'image\',
\'order\' => \'ASC\',
\'numberposts\' => -1 ),
ARRAY_N );
if ( $attachment ) {
$attachment_count = count($attachment);
foreach($i=0; $i < $attachment_count; $i++) {
$last = ($i == ($attachment_count-1) ) ? \' last\' : \'\';
echo \'<img src="\' . wp_get_attachment_url($attachment[$i]->ID) .
\'" class="post-attachment\'.$last.\'" />\';
}
}
}