Mostrar todos los álbumes en nggallery en una página [cerrado]

2

Estoy usando el popular complemento NextGen Gallery / nggallery para manejar álbumes de fotos y galerías en mi sitio.

Puedo organizar fotos en un álbum y mostrarlas usando un código corto sin problemas, donde estoy luchando es que quiero crear una página maestra de "Galerías de fotos" que mostrará todos los álbumes de fotos en el sitio.

¿Algún consejo / ideas sobre cómo hacer esto? La única sugerencia vagamente útil que he encontrado en línea hasta ahora es reorganizar los álbumes para que tenga un álbum maestro que tenga todo lo demás como sub álbumes. Esto se siente muy poco óptimo ya que cada galería / álbum tendrá que ser reorganizado en la carga.

Encontré un duplicado de esta pregunta en otra parte de la red de pila - enlace pero esa no tiene una respuesta y no se ha migrado aquí.

Gracias Jona

    
pregunta Jona 29.01.2013 - 10:32

1 respuesta

4

No tengo una solución lista, pero pequeños consejos.

Obtienes todos los álbumes de nggallery con un pequeño sql select. Esto consigue una matriz con todos los datos al álbum. Si tiene los campos correctos, cambie el * y use solo los campos, allí almacene sus datos.

    global $wpdb; 
    $albumlist = $wpdb->get_results("SELECT * FROM $wpdb->nggalbum ORDER BY id");

Después de este resultado, puedes crear en una plantilla una lista con estos datos, como el nombre como ejemplo.

    foreach( $albumlist as $album ) {
        echo '<b>ID: ' . $album->id . ' Name: ' . $album->name . '</b><br>';
    }

Antes de jugar con una selección de sql, por favor juegue con la var global y las funciones de nextgen. La var importante de ngg es $nggdb . Sobre esto puedes usar muchos métodos para la clase de ngg, como get_used_galleries() .

Sé de este método. Por favor, compruebe la fuente de ejemplo.

global $nggdb;
$galleries = array();
/* find all galleries */
foreach( $nggdb->find_all_galleries() as $gallery ) {
   // check the array $gallery
   // $gallery: name, path(wp-content), title, previewpicID, author
   array_push( $galleries, $gallery->gid );
}
/* create a temporary album with all galleries */
echo nggCreateAlbum( $galleries, 'grid' );
    
respondido por el bueltge 25.02.2013 - 12:12

Lea otras preguntas en las etiquetas