Widges richtig einbinden

  • Hallo zusammen,

    Ich versuche gerade ein eigenes Theme aus einer html Vorlage zu erstellen und bin gerade beim Einbinden von Widges angelangt. Leider funktioniert es nicht richtig. Der Inhalt des Widges wird zwar abgebildet, aber nicht direkt in dem dafür vorgesehenen DIV sondern leicht versetzt. Ich habe jetzt schon einiges probiert, aber ich bin ratlos. Ich habe ein DIV in meiner header.php mit dem Namen "slideshow".

    In der functions.php habe ich folgendes eingefügt:

    register_sidebar(array(
    'name' => 'Slider',
    'description' => 'Slider',
    'before_widget' => ' <div id="slideshow">',
    'after_widget' => ' </div>',
    'before_title' => ' <h2>',
    'after_title' => '</h2> '

    in der header.php habe ich dann bei dem div "slideshow" folgendes ergänzt:

    PHP
    <div id="slideshow"><?php dynamic_sidebar( 'Slider' ); ?></div>

    Ich komm einfach nicht darauf was falsch sein soll :( Für jede Hilfe wäre ich sehr dankbar.

    • 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

  • Hallo,
    erst einmal Danke für Deine Antwort. Jetzt verstehe ich allerdings gar nichts mehr :x. Das Div Slideshow muss doch im Header bleiben, da dort die Position des Div mitbestimmt wird. Es befindet sich ja unmittelbar in einem anderen Div. Das sieht dann so aus.

    <div id="slider">


    <div id="engel"></div>


    <div id="slideshow"><?php dynamic_sidebar( 'Slider' ); ?></div>


    </div>

    Das stammt so aus meiner html Vorlage. Wo und wie muss denn das Div dann eingebunden werden, damit es ein perfekt funktionierendes Widget wird.

    Leider kann ich keinen Link meiner Seite posten, da diese nicht online ist.

  • Das div mit der ID slideshow wird doch durch die Anweisung in register_sidebar erzeugt. Wenn Du die sidebar jetzt innerhalb eines Divs mit der ID slideshow aufrufst hast Du ZWEI Divs mit der gleichen ID, was natürlich zu Problemen mit dem Stylesheet führt ( mal ganz davon abgesehen, das eine ID nur EINMAL verwendet werden darf, ansonsten wäre es ja eine class )
    hast Du Dir denn mal den erzeugten Quelltext im Frontend angeschaut?

  • Du hast Recht, das Div "Slideshow" existiert jetzt zwei mal. Jetzt versteh ich nur nicht mehr, wie ich das dann richtig einbinde. Nehme ich das Div aus der header.php raus, wird mir nichts mehr angezeigt. Es ist zum verzweifeln... ich dachte, ich habe die Logik raus und dann ist es doch anders.

    Danke für Deine Hilfe schon mal im Voraus.

  • Du hast Recht, das Div "Slideshow" existiert jetzt zwei mal. Jetzt versteh ich nur nicht mehr, wie ich das dann richtig einbinde. Nehme ich das Div aus der header.php raus, wird mir nichts mehr angezeigt. Es ist zum verzweifeln... ich dachte, ich habe die Logik raus und dann ist es doch anders.

    Danke für Deine Hilfe schon mal im Voraus.

    Ich habs mal so versucht:

    <div id="slider">


    <div id="engel"></div>


    <slideshow>
    <?php dynamic_sidebar( 'Slider' ); ?>
    </slideshow>


    </div>

    Das scheint zu funktionieren :-o

    Ist das der richtige Ansatz?

    vielen Dank

Jetzt mitmachen!

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