In Sidebar registrierte Widgets einzeln ansprechen?

  • Hallo,

    bin ganz neu hier im Forum und habe gerade erst mit Wordpress angefangen.

    Jetzt habe ich folgendes Problem: Ich möchte Widgets in meiner Sidebar unterschiedlich per CSS designen.

    Ich habe mich deshalb gefragt ob man den Widgets eine individuelle ID z.b. als CSS-Klasse zuweisen kann die ich wiederum in der CSS ansprechen kann. Ich würde das gerne ohne JavaScript lösen, sondern einfach in der PHP. Geht das?

    Ich habe folgendes schon versucht:

    sidebar.php:

    Soweit so gut. Jetzt müsste ich das ja auch in der functions.php ansprechen können, was ich momentan noch nicht hinbekomme.

    Habe folgendes versucht in der functions.php:
    (brachte einen mächtig fetten error auf der Seite..)

    PHP
    <?php
    if ( function_exists('register_sidebar') )
        register_sidebar(array(
            'before_widget' => '<div class="widget_container_<?php echo $args['widget_id'] ?>">',
            'after_widget' => '</div>',
            'before_title' => '<span class="title">',
            'after_title' => '</span>',
        ));
    ?>

    Ich kann mir auch denken dass das überhaupt nicht funktionieren kann, aber wie soll ich das sonst machen? :|

    Kann mir da jemand helfen?

    Vielen Dank schon mal im Voraus.

    Grüße,
    pyretta

    • 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 nochmal...

    jetzt hab ich ein riesen Problem...

    ich habe die widgets.php wie hier beschrieben:
    http://core.trac.wordpress.org/browser/tags/3…idgets.php#L884

    abgeändert. Jetzt kommt folgende Fehlermeldung und NIX geht mehr nichmal der Admin-Bereich - NIX:

    Fatal error: Call to undefined function is_blog_installed() in /CMS/wordpress/wp-test/wp-includes/load.php on line 427


    dann hab ich die original widget.php wieder hergestellt.
    Die Fehlermeldung bleibt aber :shock:

    ääähm... Hilfe? :shock:

    Auf den Trichter bin ich wegen folgendem Foreneintrag gekommen:
    http://www.mediengestalter.info/forum/62/wordp…d-156104-1.html

    War wohl ein riesen Fehler :?

    Hab auch die load.php von der zuvor auf den localen Rechner kopierten Installation hochgeschoben...

    hilft auch nix...

    Was hat die scheiss widgets.php von dem angerichtet??

    Nichmal google weiss da Rat :???:

    Gibts ja gar keine Einträge dazu...

    Einmal editiert, zuletzt von pyretta (28. September 2011 um 11:55)

  • Die Funktion is_blog_installed() ist in wp-includes/functions.php definiert. Kann es sein, dass diese Datei überschrieben wurde bzw. nicht vollständig vorhanden ist?

  • uff....

    Vielen Dank Spickzettel.

    Genau das war der Fall. Die ist heute um 5 vor 11 geändert worden. Nicht von mir direkt, also nicht bewusst. Habe nur an meinen Template-Dateien rumgeschraubt und eben diese widgets.php in wp-includes (was ich nie wieder tun werde :shock: )

    Wenigstens was gelernt dabei... auch wenn ich grade aus Schock 10 Jahre gealtert bin...

  • zur urspruenglichen frage:

    http://codex.wordpress.org/Function_Refer…egister_sidebar

    dieser teil:

    PHP
    'before_widget' => '<li id="%1$s" class="widget %2$s">',

    gibt den widgets automatisch jeweils eine individuelle css id und eine css class;

    was genau da ausgegeben wird, kannst du aus dem html code der widgets im browser auslesen - oder firebug oder aehnlch verwenden, um die css ids und classes herauszufinden.

Jetzt mitmachen!

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