1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

next image in gallery Link (native WordPress-Galerie)

Dieses Thema im Forum "Konfiguration" wurde erstellt von helix, 5. Juli 2016.

  1. helix

    helix Well-Known Member

    Registriert seit:
    28. Juli 2011
    Beiträge:
    1.808
    Zustimmungen:
    27
    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/155071-wordpress-galerie-problem-beim-weiterblaettern.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_Reference/get_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_Reference/wp_get_attachment_link

    Ich binde den folgenden Codeschnipsel an passender Stelle in meine image.php ein:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    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
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden