미디어 갤러리에서 모든 이미지를 가져 오시겠습니까?


28

미디어 갤러리에서 모든 이미지 의 URL을 가져 오는 방법이 있습니까?

나는 이것이 특정 시나리오에서만 필요하다는 것을 감안할 때 웹 사이트가 미디어 갤러리에서 모든 이미지를 가져 오는 그림 페이지를 갖는 쉬운 방법이라고 생각합니다.

그림 페이지를 만드는 방법, 모든 이미지 URL을 가져 오는 방법에 대한 지침은 필요하지 않습니다. 감사!


전체 미디어 라이브러리 (예 : 사이트 전체)의 모든 이미지를 의미합니까?
ZaMoose

답변:


50
$query_images_args = array(
    'post_type'      => 'attachment',
    'post_mime_type' => 'image',
    'post_status'    => 'inherit',
    'posts_per_page' => - 1,
);

$query_images = new WP_Query( $query_images_args );

$images = array();
foreach ( $query_images->posts as $image ) {
    $images[] = wp_get_attachment_url( $image->ID );
}

모든 이미지 URL은 이제 $images;


음 .. @somatic이 나를 이길 것 같습니다. 위의 솔루션과 달리 내 이미지 만 가져옵니다.
Azizur Rahman

2
분명히 우리의 방법은 비슷합니다 ... 그리고 azizur가 맞습니다 .'post_mime_type '을 두 쿼리에 추가하면 반환되는 유형이 좁아집니다. 한 가지 고려해야 할 사항 : guid는 종종 이미지의 전체 URL을 포함하지만 신뢰할 수있는 소스는 아닙니다. 정적이며 게시물이 생성 될 때 한 번만 생성되며 현재 사이트 URL 및 미디어 폴더 구조에 구축됩니다. 그러나 그 폴더 구조 도메인은 어느 시점에서 변경 될 수 있으며, guid는 더 이상 실제 이미지 URL이 아니며, 그것이 만들어 졌을 때의 기록 일뿐입니다.
somatic

1
이 답변은 잘못되었습니다 . 미디어 라이브러리에서 이미지를 가져 오지 않습니다. 게시물 안에 사용 된 이미지를 가져옵니다. 사용하지 않은 이미지를 찾을 수 없습니다!
Christian

@Christian-잘못 되었나요? 아니면 '아직도'잘못 물어봐야합니까? 나는 거의 2 년 후에 의견을 말하고 있음을 알고 있지만 WP 3.6에서 이것을 시도했으며 게시물에 추가하지 않고 미디어 라이브러리에 방금 추가 한 이미지를 받고 있습니다 : /
Chris Kempen

어리석은 질문 일지 모르지만 이제 어떻게 다른 이미지 크기를 얻을 수 있습니까?
Frederik Witte

17
$media_query = new WP_Query(
    array(
        'post_type' => 'attachment',
        'post_status' => 'inherit',
        'posts_per_page' => -1,
    )
);
$list = array();
foreach ($media_query->posts as $post) {
    $list[] = wp_get_attachment_url($post->ID);
}
// do something with $list here;

모든 미디어 라이브러리 항목 (게시물에 첨부 된 항목이 아닌)에 대해 db를 쿼리하고 URL을 잡고 $list배열로 덤프하십시오 .


6
<?php
    $attachments = get_children( array('post_parent' => get_the_ID(), 'post_type' => 'attachment', 'post_mime_type' =>'image') );
    foreach ( $attachments as $attachment_id => $attachment ) {
            echo wp_get_attachment_image( $attachment_id, 'medium' );
    }
?>

게시물 / 페이지의 모든 첨부 파일을 가져옵니다. 게시물에 더 많은 이미지를 첨부하면 나열됩니다


5

좋아,이 코드를 사용하여 미디어 라이브러리의 모든 이미지를 표시하십시오!

$args = array(
    'post_type' => 'attachment',
    'post_status' => 'published',
    'posts_per_page' =>25,
    'post_parent' => 210, // Post-> ID;
    'numberposts' => null,
);

$attachments = get_posts($args);

$post_count = count ($attachments);

if ($attachments) {
    foreach ($attachments as $attachment) {
    echo "<div class=\"post photo col3\">";
        $url = get_attachment_link($attachment->ID);// extraigo la _posturl del attachmnet      
        $img = wp_get_attachment_url($attachment->ID);
        $title = get_the_title($attachment->post_parent);//extraigo titulo
        echo '<a href="'.$url.'"><img title="'.$title.'" src="'.get_bloginfo('template_url').'/timthumb.php?src='.$img.'&w=350&h=500&zc=3"></a>';
        echo "</div>";
    }   
}

쇼 페이지 매김 방법을 알고 있다면 대답하십시오.



1

이것은 and를 사용 하여이 답변 의 짧은 버전입니다 .get_posts()array_map()

$image_ids = get_posts(
    array(
        'post_type'      => 'attachment',
        'post_mime_type' => 'image',
        'post_status'    => 'inherit',
        'posts_per_page' => - 1,
        'fields'         => 'ids',
    ) );

$images = array_map( "wp_get_attachment_url", $image_ids );
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.