Mostrar la galería de imágenes de un post en una plantilla

Si estás preparando una plantilla personalizada para WordPress, ya sea para un custom post type o alguna sección específica de tu web y necesitas mostrar la galería de imágenes de un post en concreto. puedes utilizar la función  get_post_galleries_images( $post ); 


por

Si estás preparando una plantilla personalizada para WordPress, ya sea para un custom post type o alguna sección específica de tu web y necesitas mostrar la galería de imágenes de un post en concreto. puedes utilizar la función  get_post_galleries_images( $post ); 

En este ejemplo, recogemos el array con las imágenes y las mostramos mediante un loop:

 global $post;
 $galleries = get_post_galleries_images( $post );
 
 $image_list = ' 
    • '; //Loop en todas las galerías, por si hay más de una foreach( $galleries as $gallery ) { // Loop dentro de cada una de las galerías. foreach( $gallery as $image ) { $image_list .= '
    • ' . $image . '
    • }
'; } $image_list .= ' '; // Mostramos la lista de imágenes: echo $image_list;

Si queremos limitar el número de imágenes a mostrar, simplemente podemos recortar el array de fotos:

$gallery_solo_cinco = array_slice( $gallery, 0, 5);

Una vez tenemos la salida en loop de las imágenes de la galería (ya sea en una lista como en el ejemplo o con las etiquetas html que mejor te vayan), sólo tienes que darle los estilos que necesites para ajustar los CSS al diseño de la plantilla.

Comentarios

5 respuestas a «Mostrar la galería de imágenes de un post en una plantilla»

  1. Avatar de Edwing

    |

    Excelente, pero tengo una duda, en mi plantilla logro hacer que la galería aparezca donde quiero en la maquetación, pero me sale también en el lado donde puse a the_content, entiendo que esto pase porque al crear la galería ahí en el editor es donde quedan las imágenes, te agradecería si me sacas de la duda en cuanto a que hacer para que no me aparezca ahí también. Saludos.

    1. Avatar de esther

      |

      Hola Edwing!
      No lo he probado, pero así de entrada se me ocurre que podrías ocultarla por CSS indicando la clase del post en concreto.

      Saludos!

      1. Avatar de Edwing

        |

        Hola, ya supe como hacerlo con una función de WP :
        post_content, ‘gallery’ ) ) {
        global $post;
        $galleries = get_post_galleries_images( $post );
        $image_list = »;
        // Si se requieren mas de una galeria de imágen es: $image_list = »;

        //Loop en todas las galerías, por si hay más de una
        foreach( $galleries as $gallery ) {
        // Loop dentro de la galeria o de cada una de las galerías si hay mas de una.
        foreach( $gallery as $image ) {
        $image_list .= ‘ ‘;
        }
        }
        $image_list .= ‘ ‘; // Mostramos la lista de imágenes:
        echo $image_list;
        }
        ?>
        …Hay que tener cuidado de ponerlo en la plantilla donde se necesita y no en un archivo como el functions.php , pues como se basa en inhabilidar el shortcode predeterminado de la galeria en the_content(); entonces luego también lo haría con cualquier otro shortcode que se necesite usar; saludos 🙂

        1. Avatar de Edwing

          |

          Oops! veo que lo que puse entre comillas en el código no salió en el comentario.

          1. Avatar de esther

            |

            Que pena! Si quieres envíamelo por email y lo añado al post.
            Gracias Edwing!