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

dynamic_sidebar() Ausgabe funktioniert falsch

Dieses Thema im Forum "Allgemeines" wurde erstellt von VoinG, 9. Februar 2020.

  1. VoinG

    VoinG Well-Known Member

    Registriert seit:
    27. Juli 2008
    Beiträge:
    81
    Zustimmungen:
    0
    Hallo!
    ich habe ein seltsames "Widget-Problem" und kann den Fehler nicht erkennen bzw. beseitigen, obwohl ich schon fast alles ausprobiert habe.. Folgendermaßen gehe ich vor (schon das 100-te Mal, aber das Problem kommt das erste Mal vor).

    Schritt 1: In functions.php 4 Widget Areas fürs Backend definieren
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Schritt 2: Alle 4 sidebars im Backend mit dem einfachsten hmtl-Code befüllen
    In "HTML-Widgets" wird so etwas wie
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    jeweils einmal pro Widget eingefügt. Überhaupt nichts besonderes

    Schritt 3: An unterschiedlichen Stellen erfolgt Ausgabe im Template
    Die Inhalte werden ganz normal ausgegeben. Mal in single.php, mal in den Template Teilen über
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Überhaupt nichts besonderes, wie gesagt. So erfolgt die Ausgabe:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    4. Das Problem
    besteht darin, dass bei dieser Ausgabe nicht das eine Widget, sondern alle vier ausgegeben werden! Ich habe überhaupt keine Idee, worauf dieses Verhalten zurück zu führen ist und wie ich das beseitigen soll.

    --- Wenn ich alle Plugins deaktiviere, hilft das kein bisschen.
    --- Wenn ich die selben Codes in ein anderes Theme einfüge, kommt die fehlerhafte Ausgabe jedoch nicht vor. D.h., dass es am (selbstentwickelten) Theme liegt.
    --- Was ich durch ausgiebiges Testen herausgefunden habe - entferne ich <?php wp_footer(); ?> aus der footer.php-Datei, kommt alles in Ordnung und Ausgabe funktioniert ordentlich (Es wird Inhalt des jeweiligen an der Stelle definierten Widgets und nicht aller vier ausgegeben).

    Worauf könnte das hindeuten?
    Ich wäre für jeden Hinweis dankbar, was ich ausprobieren und an welcher Stelle evtl. etwas verändern könnte! Danke!
     
  2. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.678
    Zustimmungen:
    1.786
    Link zur Seite auf der "2 Widget-Area" ausgegeben wird?

    Zur weiteren Klärung Screenshot(s) von "Design > Widgets" mit allen Widget Bereichen offen?
     
  3. VoinG

    VoinG Well-Known Member

    Registriert seit:
    27. Juli 2008
    Beiträge:
    81
    Zustimmungen:
    0
    Hallo und vielen Dank für die Antwort!
    Den Link kann ich hier leider nicht posten, da ich lokal entwickele..

    Den Screenshot füge ich gerne an! Sogar drei Screenshots, denn ich habe doch etwas bemerkt, was ich nicht begreifen kann.. und zwar:

    "widgets.jpg" zeigt das Backend. Es gibt, wie gesagt, 4 definierte Widget-Bereiche. Wichtig: ich habe nun Widget-Titles hinzugefügt (T1 bis T4)
    "widgets2.png" zeigt den Bereich, wo eigentlich nur "Widget-2" (von "2 Widget-Area" im Backend) ausgegeben werden soll. Seltsam: es wird der richtige Titel ausgegeben! Dem folgen dann leider Inhalte aller vier Widgets (jedoch ohne Titel).
    "widgets4.png" zeigt den Bereich, wo nur "Widget-4" (von "4 Widget-Area" im Backend) ausgegeben werden soll. Das Verhalten ist genau so wie im vorigen Beispiel: ausgegeben werden der richtige Titel und Inhalte aller vier Widgets!

    Das kann ich mir wirklich nicht erklären..
     

    Anhänge:

  4. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.678
    Zustimmungen:
    1.786
    Ohne Link zur Seite mit Einblick in den tatsächlich ausgegebenen HTML-Code lässt sich das nur schwer genauer eingrenzen.

    Weiterhin wäre im Verlauf wohl auch Einblick in den PHP-Code des Themes nötig, sehe gerade erst, dass es selbstentwicklelt ist, also kann man es nirgends herunterladen, wende Dich daher am besten an die Person, die das Theme ursprünglich erstellt hat.
     
  5. VoinG

    VoinG Well-Known Member

    Registriert seit:
    27. Juli 2008
    Beiträge:
    81
    Zustimmungen:
    0
    Ich habe das Theme ursprünglich erstellt )) Das ist das Komische daran.. Als Basis hatte ich ein komplett leeres Theme von http://html5blank.com/ genommen - das ist aber schon ewig her..

    Ich habe die oben angeführten Codes zum Sidebars Anlegen mit register_sidebar() und Ausgeben bereits gefühlt 50 Mal verwendet und nie Probleme gehabt. Das ist das erste Mal, wo das zum unerklärlichen Verhalten geführt hat.

    Aber ich verstehe, dass ich das Unmögliche verlange, ohne die HTML-Ausgabe zu zeigen blind nach der Lösung zu suchen ) Vielen Dank für Deine Hilfe, @b3317133 , ich suche mal weiter. Vielleicht meldet sich jemand, der das Problem bereits gehabt hat.
     
  6. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.678
    Zustimmungen:
    1.786
    Durchsuche den gesamten Code des Themes nach "sidebar" und schau Dir an, was wo ausgegeben wird. Im verlinkten leeren Theme werden z.B. in sidebar.php zwei Widgetbereiche ausgegeben.
     
  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