Template widgetfähig machen

  • Hallo erstmal,

    ich hatte vor mein selbsterstelltes Template widgetfähig zu machen.. (Stundenlang >.<) Leider funktioniert nicht so ganz, wie ich mir das vorstelle.

    Hier einmal so, wie ich den Php-Code in meine Sidebar.php eingefügt habe (gekürzt):

    Problem Nr. 1: <div id="sidebar"> wird zum Ende hin nicht mehr geschlossen
    Problem Nr. 2: Danach ist auf der Website überhaupt keine Sidebar mehr zu sehen. Mit folgender Fehlermeldung:

    Zitat

    Parse error: syntax error, unexpected T_ENDIF in /var/www/web1150/html/wp-content/themes/Antilogik/sidebar.php on line 10

    Functions.php:

    PHP
    <?php
    if ( function_exists('register_sidebar') )
    register_sidebar();
    ?>

    Website: http://rawrr.de (Die Tags links + die Navi im Header gehören in sidebar.php)

    Ich hoffe, jemand blickt hier durch. Hab mich bemüht es so deutlich wie möglich zu machen.
    Könnte an mangelnden Php-Kenntnissen liegen. Aber man versuchts - dann geht's nicht - man braucht Hilfe :confused:

    • 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

  • ich hatte vor mein selbsterstelltes Template widgetfähig zu machen.. (Stundenlang >.<) Leider funktioniert nicht so ganz, wie ich mir das vorstelle.


    Den FAQ-Artikel dazu und die weiterführenden Dokuseiten kennst du aber?

    PHP
    <?php if ( function_exists('register_sidebar') )
    register_sidebar(array(
    'before_widget' => '<div id="%1$s" class="widget %2$s">',
    'after_widget' => '</div>',
    'before_title' => '<div class="title">',
    'after_title' => '</div>',
    )); ?>


    Das gehört besser in die functions.php. In der Sidebar selbst verwendest du dann nur die dynamic_sidebar()-Funktion.

    PHP
    <?php endif; ?>


    Das if oben macht keinen Block auf, weder per "{" noch per ":" (alternative Syntax). Das endif an der Stelle ist also syntaktisch falsch und wird zurecht vom PHP-Interpreter angemeckert.

    Zitat

    Problem Nr. 1: <div id="sidebar"> wird zum Ende hin nicht mehr geschlossen
    Problem Nr. 2: Danach ist auf der Website überhaupt keine Sidebar mehr zu sehen. Mit folgender Fehlermeldung:


    Beides Auswirkungen der oben genannten Fehler.

  • Ahhh, vertauscht. Klar soweit.


    Zitat

    Den FAQ-Artikel dazu und die weiterführenden Dokuseiten kennst du aber?


    Jap, den kannte ich. Ich hab das nur in die falsche Datei eingetragen die ganze Zeit über und es nicht bemerkt. Das wars auch schon :mrgreen:

    Ichdanke dir für die Hilfe, jedoch eine Frage diesbezüglich hätte ich noch.
    Und zwar die Position bzw das Aussehen eines Widgets (im Moment habe ich nur eins) habe ich so bestimmt:

    PHP
    <?php if ( function_exists('register_sidebar') )
    register_sidebar(array(
    'before_widget' => '<div id="tags" class="innertags">', <-- und zwar hier
    'after_widget' => '</div>',
    'before_title' => '<div class="title">',
    'after_title' => '</div>',
    )); ?>

    Das befindet sich ja, wie ich jetzt weiß, in der functions.php.. Und was, wenn ich mal noch ein widget dazu haben möchte in der gleichen sidebar welches aber eine andere Position einnehmen soll? ...

    Grüße
    Steph

  • Die Widgets in der Sidebar bekommen *alle* die dort angebenen Tags. Nimm mal den Code hier:

    Code
    if ( function_exists('register_sidebar') )
    register_sidebar(array(
    'before_widget' => '<div id="[COLOR="Red"]%1$s[/COLOR]" class="widget [COLOR="#ff0000"]%2$s[/COLOR]">',
    'after_widget' => '</div>',
    'before_title' => '<div class="title">',
    'after_title' => '</div>',
    ));


    dann trägt WP individuelle IDs und Klassennamen ein, über die du das Widget dann per CSS stylen kannst.

Jetzt mitmachen!

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