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!

Desarrollo Web by esther solà
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.