如何从帖子中查询图像以在滑块中使用

时间:2015-03-16 作者:ccbar

我试图从特定帖子(自定义帖子)中提取图片作为附件,

。。。我在WordPress codex中使用了这个例子codex example to display all images as a list

。。。除了那篇文章中的图片不断重复大约3到4次(我总共有7张图片附在那篇文章上)。无论我将numberposts设置为什么或post\\u per\\u页面设置为什么,我都会不断得到重复的图像,大约28张,而我应该只有7张。

如果我的numberposts是1或者我的post\\u per\\u image是1,那么我只会得到附加到该帖子的7张图片中的1张。。。我做错了什么?

下面是我正在使用的代码,下面是我的网站上发生的事情的一个示例my test site where i\'m trying to pull images from a post to use within FlexSlider

非常感谢您的帮助_辛迪

<ul class="slides">   

    <?php if ( have_posts() ) : while ( have_posts() ) : the_post();    
        $args1 = array(
        \'post_type\' => \'attachment\',
        \'p = 107\',
        \'numberposts\' => 7,
        \'post_status\' => \'inherit\'
    );

$attachments = get_posts( $args1 );

if ( $attachments ) {
    foreach ( $attachments as $attachment ) {

    echo \'<li>\';
    echo wp_get_attachment_image( $attachment->ID, \'home-slider\' );
    echo \'</li>\';
    }
}
endwhile; endif; ?>

</ul>

</div>
</div>
</div>
</div> <!-- end 1080 pixels Container -->

<div class="grid-gradient-bg"></div>
</div>

<!-- Slider Navigation -->

<div id="home-hero-nav" role="">
<div class="container"> <!-- 1080 pixels Container -->
<div class="full-width columns">

    <ul class="slider-menu thumbnails clearfix">

    <?php if ( have_posts() ) : while ( have_posts() ) : the_post();    
        $args2 = array(
        \'post_type\' => \'attachment\',
        \'p = 107\',
        \'numberposts\' => 0,
        \'post_status\' => \'inherit\'
    );

$attachments = get_posts( $args2 );

if ( $attachments ) {
foreach ( $attachments as $attachment ) {

    echo \'<li>\';
    echo wp_get_attachment_image( $attachment->ID, \'home-slider-thumb\' );
    echo \'</li>\';
    }
}
endwhile; endif; ?>


</ul>

2 个回复
SO网友:ngearing

您的第二个参数“p=107”无效。

您可以尝试使用get\\u attached\\u media()函数。

然后这样做:

$media = get_attached_media(\'image\', 2360);

foreach ($media as $m) {

    echo \'<li>\';
        echo wp_get_attachment_image( $m->ID, \'home-slider\' );
    echo \'</li>\';                
}

SO网友:ccbar

修复方法是将foreach循环从while循环中去掉。我还将附件设置为get\\u children。

希望这对别人有帮助!Also see this great post on premiumdw!!

<?php    

$attachments = get_children(array(\'post_parent\' => [post id], \'post_type\' => \'attachment\', \'post_mime_type\' => \'image\', \'post_status\' => \'inherit\', \'posts_per_page\' => [however many images attached to your post] ));

if ($attachments) { // if there are images attached to posting, start the flexslider markup

    foreach ( $attachments as $attachment_id => $attachment ) { // create the list items for images with captions

        echo \'<li>\';
        echo wp_get_attachment_image($attachment_id, \'[string or another array for width and height]\');
        echo \'</li>\';
    }

} // end see if images

wp_reset_postdata();

?>
\\u辛迪

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post