从附件循环中排除特色图像

时间:2013-08-11 作者:jonthoughtit

对于我的jigoshop主题,我可以检索附加到我的产品帖子上的图像。但是,它从特征图像和我的metabox图像中提取所有图像。我想做的是使其排除特征图像,但它不起作用。出于某种原因,它似乎还包括其他帖子特色的图片。

我试过了this suggestion 没有运气。

以下是我目前掌握的情况:

    global $_product, $post; 
    $thumb_id = get_post_thumbnail_id($post->ID);

    $args = array(
    \'post_type\' => \'attachment\',
    \'post_mime_type\' => \'image\',
    \'numberposts\' => -1,
    \'post_status\' => null,
    \'post_parent\' => $post->ID,
    \'orderby\' => \'menu_order\',
    \'exclude\' => $thumb_id,
    \'order\' => \'asc\'
    );

    $attachments = get_posts($args);
    if ($attachments) :
        $loop = 0;

        foreach ( $attachments as $attachment ) :

            if ($thumb_id==$attachment->ID) continue;

            $loop++;

            $_post =  get_post( $attachment->ID );
            $url = wp_get_attachment_url($_post->ID);
            $post_title = esc_attr($_post->post_title);
            $image = wp_get_attachment_image_src($attachment->ID, \'full\');
            $image = $image[0];
            $image_path =  thumbGen($image,500,0,"crop=1&halign=center&valign=center&return=1");
            $image_all = get_bloginfo(\'url\').$image_path;
            $my_image = array_values(getimagesize($image_all));
            list($width, $height, $type, $attr) = $my_image;            

            if ( ! $image || $url == get_post_meta($post->ID, \'file_path\', true) )
                continue;

            echo \'<span><img src="\'.$image.\'" alt="\'.get_the_title().\'" title="\'.get_the_title().\'" width="\'.$width.\'" height="\'.$height.\'"/></span>\';

        endforeach;

    endif;
有什么想法吗?

1 个回复
SO网友:Simon

尝试使用该组参数:

$args = array(
    \'post_type\' => \'attachment\',
    \'post_mime_type\' => \'image\',
    \'numberposts\' => -1,
    \'post_parent\' => $post->ID,
    \'orderby\' => \'menu_order\',
    \'order\' => \'asc\',
    \'post__not_in\' => array( $thumb_id )
);
我正在我的一个网站上使用它,它工作得很好。因此,您不必使用:

 if ($thumb_id==$attachment->ID) continue;
在您的循环中。

奇怪的是get_posts() 法典页(http://codex.wordpress.org/Template_Tags/get_posts) 说我们可以用exclude 参数,但也表示get_posts() 使用WP_Query(). 而且没有exclude Codex中的参数WP_Query()(http://codex.wordpress.org/Class_Reference/WP_Query), 只有post__not_in.

那么,让我们使用post__not_in 而不是exclude.

看起来不一致。

结束

相关推荐

Link post images to post

出于某种原因,我找不到任何好的方法来将帖子图像链接到帖子。我在上找到一个脚本http://wpguy.com/plugins/linked-image/ 它可以工作,但不会删除旧链接,而是将旧链接和图像包装在新的a标记中。我想要的是删除旧链接,这样图像只包装在一个a标记中。这是我目前拥有的脚本:function wpguy_linked_image($content){ $searchfor = \'/(<img[^>]*\\/>)/\'; $r