next image in gallery Link (native WordPress-Galerie)

  • Oder: was ihr schon immer über die native WordPress-Galerie wissen wolltet und nie zu fragen wagtet …

    Problemstellung: Die native WordPress-Galerie in Kombination mit Attachment-Seiten ist wirklich smart, bis auf die Links zum jeweils nächsten Bild. Siehe z.B. auch hier: http://forum.wpde.org/allgemeines/15…rblaettern.html

    Erklärung: Die previous_image- und next_image-Links, die WordPress out of Core zur Verfügung stellt, verlinken nur zum Bild mit der nächsthöheren bzw. nächstgeringeren ID, ohne Rücksicht darauf, ob und wo dieses Bild eingebunden ist.
    Die native WordPress-Galerie funktioniert davon unabhängig und wird lediglich durch Eingabe der IDs im Galerie-Shortcode innerhalb des Beitrags gebildet. Verändern der Reihenfolge der IDs innerhalb des Shortcodes verändert die Reihenfolge der Bilder in der Galerie. Die Galerie als solche ist nicht eigenständig in der Datenbank gespeichert, sondern existiert nur als Shortcode im Postcontent.

    Es geht also darum, die Galerie selber auszulesen und nicht irgendein Geschwurbel mit „ermittle die IDs aller Anhänge zum jeweiligen Post“. Das geht mit get_post_gallery() => siehe https://codex.wordpress.org/Function_Refer…et_post_gallery
    Für die tatsächlichen Links (wenn man dann erstmal die IDs in der richtigen Galerie-Reihenfolge hat) hilft dann wp_get_attachment_link() => siehe https://codex.wordpress.org/Function_Refer…attachment_link

    Ich binde den folgenden Codeschnipsel an passender Stelle in meine image.php ein:

    Die beiden if ( isset … -Abfragen sind zur Kontrolle für das erste und letzte Bild: der Versuch, einen Link zu einem Bild vor dem ersten Bild oder nach dem letzten Bild auszugeben, würde sonst eine Fehlermeldung produzieren. Man kann natürlich auch definieren, dass der Link dann vorwärts oder rückwärt „über Los“ geht …

    Die previous- und next-Links habe ich dann jeweils doppelt ausgegeben, einmal als Thumbnail, einmal als Text. Sie sind hier jeweils zur Attachment-Seite, wp_get_attachment_link() kann aber auch einen Link zur Mediendatei ausgeben (default-Einstellung); Kombination von Thumbnail und Text kann die Funktion leider nicht, deswegen einmal Bild, einmal Text.

    Erwähnte ich, dass ich gerne die Bordmittel zum Einsatz bringe?
    Hoffe, ich kann ein bisschen für solche Ansätze begeistern …

    Gruß
    helix

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!