it-swarm.com.de

Alle Alben in der Galerie auf einer Seite anzeigen

Ich verwende das beliebte NextGen Gallery/nggallery-Plugin, um Fotoalben und Galerien auf meiner Website zu verwalten.

Ich kann Fotos in einem Album anordnen und mit einem Shortcode anzeigen, ohne Probleme. Ich habe Mühe, eine Master-Seite "Fotogalerien" zu erstellen, auf der alle Fotoalben auf der Website angezeigt werden.

Irgendwelche Ratschläge/Ideen dazu? Der einzige vage nützliche Vorschlag, den ich bisher online gefunden habe, ist, die Alben neu anzuordnen, sodass ich ein Master-Album habe, das alles andere als Unteralbum enthält. Dies fühlt sich sehr suboptimal an, da jede Galerie/jedes Album beim Hochladen neu angeordnet werden muss.

Ich habe ein Duplikat dieser Frage an einer anderen Stelle im Stack-Netzwerk gefunden - https://webmasters.stackexchange.com/questions/1858/how-to-show-all-albums-in-wordpress-nextgen-gallery but that Man hat keine Antwort und wurde nicht hierher migriert.

Vielen Dank, Jona

2
Jona

Ich habe keine fertige Lösung, aber kleine Hinweise.

Sie erhalten alle Alben von nggallery mit einer kleinen SQL-Auswahl. Dadurch erhält man ein Array mit allen Daten zum Album. Wenn Sie die richtigen Felder haben, ändern Sie den * und verwenden Sie nur die Felder, in denen Ihre Daten gespeichert werden.

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

Nach diesem Ergebnis können Sie in einer Vorlage eine Liste mit diesen Daten erstellen, beispielsweise den Namen.

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

Bevor Sie mit einer SQL-Auswahl spielen, spielen Sie bitte mit der globalen Variable und den Funktionen von nextgen. Die wichtige Variable von ngg ist $nggdb. Über diese können Sie viele Methoden zur Klasse von ngg verwenden, wie get_used_galleries().

Ich kenne diese Methode. Bitte überprüfen Sie die Beispielquelle.

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' );
4
bueltge