Wordpress:排除帖子缩略图?

时间:2012-01-27 19:21:49

标签: php wordpress

我正在使用下面的代码获取我主题中每个帖子的附加图像,以便在幻灯片中使用。它的效果非常好,因为它能够检索所有附加的图像,但它还包括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);

1 个答案:

答案 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;
}