get images attached to post

时间:2012-08-09 作者:Devin Crossman

我希望能够在主页上的jquery滑块中使用媒体库中的图片,以便其他人无需硬编码即可轻松更新图片。我在帖子上贴了一堆照片,并尝试了这个

<?php
$image_query = new WP_Query(array(\'name\'=>\'slider-images\'));
while ( $image_query->have_posts() ) : $image_query->the_post();
    $args = array( \'post_type\' => \'attachment\', \'numberposts\' => -1, \'post_status\' => null, \'post_parent\' => $post->ID ); 
    $attachments = get_posts($args);
    if ($attachments) {
        foreach ( $attachments as $attachment ) {
            echo \'<li>\';
            echo \'<img src="\'.wp_get_attachment_url($attachment->ID).\'" />\';
            echo \'</li>\';
        }
    }
endwhile;
wp_reset_postdata();
?>
但它没有显示任何内容。我的代码是否有问题,或者是否有更简单/更好的方法将图像分组,而不是将它们放在帖子中?

编辑:如果我在$image\\u查询循环中使用\\u content(),它会输出如下图像

<p>
    <a href="...">
        <img src="..." />
    </a>
</p>
但我需要的是

<li>
    <a href="...">
        <img src="..." />
    </a>
</li>

1 个回复
最合适的回答,由SO网友:Chris_O 整理而成

使用get\\u子级比使用get\\u帖子更好。下面是一个简单的例子。这是在插件或函数中定义的函数形式。php然后将该函数用作模板标记。

    /**
     * Gets all images attached to a post
     * @return string
     */
    function wpse_get_images() {
        global $post;
        $id = intval( $post->ID );
        $size = \'medium\';
        $attachments = get_children( array(
                \'post_parent\' => $id,
                \'post_status\' => \'inherit\',
                \'post_type\' => \'attachment\',
                \'post_mime_type\' => \'image\',
                \'order\' => \'ASC\',
                \'orderby\' => \'menu_order\'
            ) );
        if ( empty( $attachments ) )
                    return \'\';

        $output = "\\n";
    /**
     * Loop through each attachment
     */
    foreach ( $attachments as $id  => $attachment ) :

        $title = esc_html( $attachment->post_title, 1 );
        $img = wp_get_attachment_image_src( $id, $size );

        $output .= \'<a class="selector thumb" href="\' . esc_url( wp_get_attachment_url( $id ) ) . \'" title="\' . esc_attr( $title ) . \'">\';
        $output .= \'<img class="aligncenter" src="\' . esc_url( $img[0] ) . \'" alt="\' . esc_attr( $title ) . \'" title="\' . esc_attr( $title ) . \'" />\';
        $output .= \'</a>\';

    endforeach;

        return $output;
    }

结束

相关推荐

Log hits on advertiser images

我们网站上有一些“赞助商”图片,链接到我们的。。好吧,赞助商!Source<a href=\"http://www.amazon-below-water.com/\" target=\"_blank\" alt=\"Amazon Below Water\"><img src=\"<?php bloginfo(\'template_url\'); ?>/images/BelowWater.png\" alt=\"\" /></a> <a href