我正在使用下面的代码获取我主题中每个帖子的附加图像,以便在幻灯片中使用。它的效果非常好,因为它能够检索所有附加的图像,但它还包括the post thumbnail。
所以我的问题是,有没有办法排除只是 featured_image
但显示其余图片?
PHP
function bdw_get_images($postId) {
$iPostID = $postId;
$arrImages =& get_children('post_type=attachment&post_mime_type=image&post_parent=' . $iPostID );
if($arrImages) {
$arrKeys = array_keys($arrImages);
foreach($arrImages as $oImage) {
$arrNewImages[] = $oImage;
}
for($i = 0; $i < sizeof($arrNewImages) - 1; $i++) {
for($j = 0; $j < sizeof($arrNewImages) - 1; $j++) {
if((int)$arrNewImages[$j]->menu_order > (int)$arrNewImages[$j + 1]->menu_order) {
$oTemp = $arrNewImages[$j];
$arrNewImages[$j] = $arrNewImages[$j + 1];
$arrNewImages[$j + 1] = $oTemp;
}
}
}
$arrKeys = array();
foreach($arrNewImages as $oNewImage) {
$arrKeys[] = $oNewImage->ID;
}
$iNum = $arrKeys[0];
foreach( $arrKeys as $key) {
$sImageUrl = wp_get_attachment_url($key);
$sImgString = '<img src="' . $sImageUrl . '" alt="Thumbnail Image" />';
echo $sImgString;
}
}
}
bdw_get_images($post->ID);
答案 0 :(得分:1)
通过get_post_thumbnail_id($ post_id)函数获取缩略图(如果有),并在最后一个循环中检查它。 所以最后一个循环应该如下所示:
$post_thumbnail_id = get_post_thumbnail_id( $iPostID );
foreach( $arrKeys as $key) {
if( $key == $post_thumbnail_id )
continue;
$sImageUrl = wp_get_attachment_url($key);
$sImgString = '<img src="' . $sImageUrl . '" alt="Thumbnail Image" />';
echo $sImgString;
}