Obter todas as imagens na Media Gallery?

26

Existe uma maneira de buscar as URLs de ALL imagens na galeria de mídia?

Acho que essa seria uma maneira fácil de um site ter uma página Imagens que apenas extrai todas as imagens da galeria de mídia, desde que isso seja necessário apenas em determinados cenários.

Não preciso de instruções sobre como criar uma página de imagens, apenas como puxar todos os URLs de imagem. Obrigado!

    
por Jared 10.03.2011 / 12:32
fonte

6 respostas

47
$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 );
}

Todas as imagens do URL estão em $images ;

    
por Azizur Rahman 12.03.2011 / 23:16
fonte
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;

Consulte o banco de dados para todos os itens da biblioteca de mídia (não apenas aqueles anexados a postagens), pegue seu url, despeje todos eles em $list array.

    
por somatic 12.03.2011 / 23:01
fonte
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' );
    }
?>

Isso puxa todos os anexos de um post / página. Anexar mais imagens a uma postagem e ela será listada

    
por stffn 12.03.2011 / 16:10
fonte
5

ok y usou este código para mostrar TODAS as imagens na biblioteca de mídia!

$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>";
    }   
}

e se você souber o método de exibição de paginação, responda.

    
por Hegel 27.02.2012 / 16:52
fonte
3

Parece que não foi atualizado há algum tempo, mas a Galeria de Bibliotecas de Mídia plugin pode ser um bom exemplo para começar a olhar.

    
por ZaMoose 12.03.2011 / 22:18
fonte
1

Esta é apenas uma versão mais curta da resposta usando get_posts() e 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 );
    
por jgraup 20.01.2016 / 21:20
fonte