¿Obtener todas las imágenes en Media Gallery?

26

¿Hay alguna forma de obtener las URL de TODAS en la galería de medios?

Creo que esta sería una forma fácil para que un sitio web tenga una página de Imágenes que simplemente extraiga todas las imágenes de la galería de medios, ya que solo sería necesario en ciertos escenarios.

No necesito instrucciones sobre cómo crear una página de Imágenes, solo cómo extraer todas las URL de imágenes. Gracias!

    
pregunta Jared 10.03.2011 - 12:32

6 respuestas

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 las imágenes url están ahora en $images ;

    
respondido por el Azizur Rahman 12.03.2011 - 23:16
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 la base de datos para todos los elementos de la biblioteca de medios (no solo los adjuntos a las publicaciones), tome su url, voltee todos en $list array.

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

Esto extrae todos los archivos adjuntos de una publicación / página. Adjunte más imágenes a una publicación, y aparecerá en la lista

    
respondido por el stffn 12.03.2011 - 16:10
5

ok, ¡he usado este código para mostrar TODAS las imágenes en la biblioteca multimedia!

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

y si conoce el método para mostrar paginación, responda.

    
respondido por el Hegel 27.02.2012 - 16:52
3

Parece que no se ha actualizado en mucho tiempo, pero Galería de la biblioteca de medios el complemento puede ser un buen ejemplo para comenzar a ver.

    
respondido por el ZaMoose 12.03.2011 - 22:18
1

Esta es solo una versión más corta de la respuesta utilizando get_posts() y 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 );
    
respondido por el jgraup 20.01.2016 - 21:20

Lea otras preguntas en las etiquetas