Leere Kategorien anzeigen -> hide_empty funktioniert nicht!

  • Hallo,

    baue gerade meinen ersten Blog auf:

    Angelegt sind als Kategorien:
    - Allgemein
    - Fotografie
    - Design

    In den beiden letzten sind noch keine Einträge, also leer.

    Ich möchte aber, dass sie in der Sidebar trotzdem angezeigt werden.

    Ich habe die Doku gelesen und dementsprechend in meine Sidebar hide_empty eingefügt.

    Die sidebar.php sieht jetzt so aus:

    Die Ziffer "0" hatte ich auch schon durch "false" ersetzt, zeigt alles null Wirkung.

    Desgleichen ist in dieser PHP-Datei auch nirgends anders was mit ...cats... gelistet, das das hide_empty noch verwenden muss.

    Warum um alles in der Welt zeigt es dann diese beiden (leeren) Kategorien nicht an?

    (Wordpress 2.2.2 verwende ich übrigens)


    Danke.

    WP 6.5.4 Multisite · PHP 8.3 · Theme "ENFOLD"

    Einmal editiert, zuletzt von csign (30. August 2007 um 07:47)

    • 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

  • *doppelt gepostet, bitte löschen*

    Habe es durch [COLOR=#000000][COLOR=#0000bb]wp_list_categories[/COLOR] ersetzt. Es funktioniert dennnoch nicht.[/COLOR]

    WP 6.5.4 Multisite · PHP 8.3 · Theme "ENFOLD"

    Einmal editiert, zuletzt von csign (29. August 2007 um 11:52)

  • Die sidebar.php hab ich jetzt durch "categories" statt "cats" ersetzt -->bringt null, niente, gar nix:


    WP 6.5.4 Multisite · PHP 8.3 · Theme "ENFOLD"

  • Mir fällt eh grad was auf:

    In der sidebar.php sind im Bereich META ganz andere Links aufgeführt, z.B. Validator usw., das ist aber im tatsächlichen Blog gar nicht drin ... .ich komm jetzt völlig durcheinander; das richtige Theme ist aber ausgewählt.

    --EDIT--


    Mir kommt grad was: ich habe die "Kategorien" per "Themes" --> Widgets --> Sidebar-Arrangement in eben dasselbige reingezogen.

    Siehe Bildlink oben.

    Aber: in diesem Arrangement sind alle Bezeichnungen deutsch. Daher erscheint wohl auch in der Blogansicht das Wort "Kategorie" deutsch.

    Aber: rufe ich über mein ausgewähltes Theme die sidebar.php auf, dann erscheint dort nicht "Kategorie", sondern "Categories".

    Wo verflixt komm ich dann an das Ding "Kategorie" ran, dass ich per Widget -> Sidebar-Arrangement reingezogen habe, auf deutsch ist, aber offensichtlich nicht die sidebar.php ist?

    Im Sidebar-Arrangement und Klick auf "Kategorien" kann man nicht viel ändern, nur, was im Screenshot oben gezeigt ist.

    :sad:

    WP 6.5.4 Multisite · PHP 8.3 · Theme "ENFOLD"

    Einmal editiert, zuletzt von csign (30. August 2007 um 07:47)

  • In der widget.php hab ich jetzt folgende Passage gefunden, leider kenn ich mich mit PHP überhaupt nicht aus:

    PHP
    function wp_widget_categories($args) {
        extract($args);
        $options = get_option('widget_categories');
        $c = $options['count'] ? '1' : '0';
        $h = $options['hierarchical'] ? '1' : '0';
        $d = $options['dropdown'] ? '1' : '0';
        $title = empty($options['title']) ? __('Categories') : $options['title'];

    Müsste ich da dann irgendwo die Option hide_empty einfügen, nur wie schreibt es sich dann analog zu den obigen Optionen richtig?

    DAnke.
    Christina

    WP 6.5.4 Multisite · PHP 8.3 · Theme "ENFOLD"

  • Wenn du lieber mit der "normalen" Siebar arbeiten willst, statt mit Widgets, dann wirf einfach die Zeilen

    PHP
    <?php if ( function_exists('dynamic_sidebar') && dynamic_sidebar(1) ) : else : ?>


    (Zeile 4)

    und

    PHP
    <?php endif; ?>


    (4. von unten)

    aus der Sidebar.php raus. Ist denke ich einfacher, als den Widget-Kram von Hand anzupassen.

  • Das wär sicher möglich, aber nicht Sinn der Sache der Widgets. Ich brauche lediglich, soweit bin ich jetzt schon selbst gekommen, die richtige PHP-Syntax, um in die widgets.php die Option hide_empty=false einzubauen - aber dafür kenn ich mich mit PHP zu wenig aus.

    Weiß jemand das?

    WP 6.5.4 Multisite · PHP 8.3 · Theme "ENFOLD"

  • In der Widget-Funktion etwas weiter unten steht das:

    PHP
    <?php wp_list_categories($cat_args . '&title_li='); ?>


    Mal folgendermaßen ändern:

    PHP
    <?php wp_list_categories($cat_args . '&title_li=&hide_empty=0'); ?>

    "Eine gut gestellte Frage ist schon halb beantwortet."

  • ... wie gehts das in WP 3.0?

    Hallo Jottlieb (und alle)

    Ich möchte leere Kategorien auch mit anzeigen, per Widget.
    Nun habe ich Deine (letzte) vorgeschlagene Lösung versucht umzusetzen, also die Stelle in der widget.php gesucht, wo das Categories-Widget definiert wird. Aber da steht alles Mögliche an Definitionen und weiß der Geier drin, aber nichts darüber, wie nun die Widgets wie das Category-Widget konkret aufgebaut sind! Oder übersehe ich was?
    Mag daran liegen, dass ich WP 3.0 betreibe, und der Ratsuchende in diesem Thread eine ältere WP-Version hatte.
    Wer kann mir also sagen, in welcher Datei ich diese Widget-Definitionen in WP 3.0 finde???

    Danke
    Stefanie

  • Da hat sich einiges geändert. Mittlerweile kann man die Widgets auch über Filter beeinflussen. Z.B. das hier in die functions.php des Themes:

    PHP
    add_filter('widget_categories_args','list_cats_args_filter');
    
    
    function list_cats_args_filter( $cat_args ) {
        $cat_args['hide_empty'] = 0;
        return $cat_args;
    }

    P.S. Die Widgets sind in der Datei wp-includes/default-widgets.php definiert.

  • Danke! Gleich probiert - funktioniert super.
    Hatte schon überlegt, alternativ die default-widget.php zu ändern, und auch die entspr. Stelle gefunden. Aber das "vergisst" man bei einem Update o.ä. garantiert, trotz meines Spleens, nahezu alle Änderungen zu dokumentieren.
    functions.php ist dagegen ok ;-)

    Stefanie

Jetzt mitmachen!

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