Wordpress - Theme - Widgetfhäig machen

  • Hallo WP Deutschland Community,

    ich brauche Hilfe zum Thema Sidebar/Widgetfähigkeit.
    Ich habe ein Theme das noch nicht "Widgetfähig" ist.

    Wer kann mir die *.php Dateien anpassen?

    [Blockierte Grafik: http://www.wordpressthemesblog.com/wp-content/upl…chaoticsoul.jpg]

    Demo
    Download

    ###

    Ich weiss das ich eine functions.php erstellen muss mit diesem Code (Bsp.)

    PHP
    1. <?php
       2. if ( function_exists('register_sidebar') )
       3. register_sidebar(array(
       4. 'before_widget' => '<div id="%1$s">',
       5. 'after_widget' => '</div>',
       6. 'before_title' => '<h2 class="widget">',
       7. 'after_title' => '</h2>',
       8. ));
       9. ?>

    Aber wenn ich dann im Dashboard unter Designs/Widgets gehe,..kommt noch immer die Fehlermeldung:

    Code
    Es wurde keine Sidebar definiert
    
    
    Dein aktuell genutztes Theme unterstützt keine Widgets. 
    Das bedeutet, dass es keine Sidebar gibt, die du ändern könntest.

    ###

    Wer kann helfen? Oder sogar das Theme runterladen (Link unter dem Previewbild) und mir Dateien (Ich glaube nur "functions.php + sidebar.php") anpassen??


    Danke im voraus!!!!

    Gruss chr1s

    • 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

  • Na, lass doch mal das befor/after widget und titel Dingens weg, das ist nämlich invalid (divs in einer ul):

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

    So. Das kommt in die functions.php. Allerdings musst du auch noch was an der sidebar.php ändern, sonst bringt das nichts:

    PHP
    <ul id="sidebar">
    <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?>
    <?php endif; ?>
    </ul>
  • Wo genau?

    Also ich erstelle eine functions.php mit dem Inhalt

    PHP
    [LEFT]  [COLOR=#000000] [COLOR=#0000cc]<?php
    [/COLOR][COLOR=#006600]if ( [/COLOR][COLOR=#0000cc]function_exists[/COLOR][COLOR=#006600]([/COLOR][COLOR=#cc0000]'register_sidebar'[/COLOR][COLOR=#006600]) )
    [/COLOR][COLOR=#0000cc]register_sidebar[/COLOR][COLOR=#006600]();
    [/COLOR][COLOR=#0000cc]?>[/COLOR] [/COLOR]   [/LEFT]

    An welcher Stelle in der sidebar.php muss ich deinen Code einfügen.
    Hier mal die sidebar.php

    Danke schon mal :D

    Einmal editiert, zuletzt von chr1s (21. Juni 2009 um 22:22)

  • Theoretisch kannst du alles löschen und dann nur den oben beschriebenen Code benutzen. Schließlich möchtest du ja das, was sich z.Z. in der Sidebar befindet, durch Widgets ersetzen.
    Allerdings kann es sein, dass im Moment noch ein paar Felder vorhanden sind, die sich nicht durch Widgets ersetzen lassen. Die solltest du dann besser beibehalten und je nach Belieben an Anfang/Ende positionieren.

  • Ach. Vergiss es. Ich habe Müll gelabert.
    Lösche alles und wenn du Sonderwünsche hast (wie z.B. das postmetadata-Plugin, das du offensichtlich benutzt) legst du einfach ein neues Text-Widget an, in das du den entsprechenden Code füllst.
    Ich weiß leider nicht, ob das auch mit ausführbarem php-Code funktioniert, wenn nicht, gibt es aber auf jeden Fall Plugins dafür.
    Ansonsten kannst du den Code, wie oben schon gesagt, auch in der sidebar.php lassen, wenn dir das besser gefällt.

  • Ok hat super funktioniert.

    Was müsste ich tun wenn ich die alte Formatierung beibehalten will.

    Weil wenn ich jetzt über die versch. Widgets "hover", dann ändert sich die Farbe des gesamten Widgets.

    Edit:

    KK, danke für deine Hilfe. :D

    Einmal editiert, zuletzt von chr1s (21. Juni 2009 um 23:24)

Jetzt mitmachen!

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