Anzahl der Beiträge in einer Kategorie mit in den Link

  • Hallo,

    der eine oder ander wird jetzt sagen: "Nicht schon wieder, gibts doch schon ne Lösung in Thread XY zu."
    Leider ist dem nicht ganz so.

    Es gibt zwar Beiträge zu diesem Thema, jedoch ist die "Lösung" für mich sehr unbefriedigend.

    Beiträge die ich gefunden habe:
    http://forum.wordpress-deutschland.org/showthread.php?t=5375
    http://forum.wordpress-deutschland.org/showthread.php?t=2377&highlight

    Was ich benötigen würde wäre, dass die Anzahl der Artikel in einer Kategorie mit im Link steht und nicht außerhalb.

    Bsp.
    aktuell < a href="#" > Link < / a > (Anzahl)
    ich benötige jedoch < a href="#" > Link (Anzahl)< / a >

    Gibt es eine Möglichkeit die Ausgabe von < ? php wp_list_cats(); ? > entsprechend zu formatieren? Von mir aus auch ruhig durch einen Eingriff in den Core von WP (da wäre dann natürlich interessant zu wissen, wo genau). Jemand eine Idee?

    Danke
    Mo

    • 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

  • Der Thread-Titel paßt irgendwie nicht zu Deinem Posting, aber egal...

    Eine Möglichkeit das über (wp_)list_cats() zu lösen sehe ich nicht, deshalb hier die Stelle zum hardcoden:

    Datei: /wordpress/wp-includes/template-functions-category.php

    PHP
    355: $link .= '</a>';
    356: 
    357: if (empty($feed_image))
    358: $link .= ')';
    359: }
    360: 
    361: if ( intval($optioncount) == 1 )
    362: $link .= ' ('.intval($category->category_count).')';

    würde ich umbasteln zu:

    Nicht getestet, aber so in der Art.

  • Hab in der Hektik hier im Büro vergessen die Gemeinsamkeiten der Probleme zu erwähnen. Meine a-Tags werden als Block Elemente dargestellt, was dazu führt, dass diese unter der Kategorie angzeigt werden.
    Ich werd langsam tüddelig auf meine alten Tage ;).

    Danke für den Code, allerdings wird jetzt die Anzahl nicht mehr angezeigt :(.
    Ich schau mit das nochmal an...evtl. sollte ich mich doch mal intensiver mit PHP auseinandersetzen.

    Grüße
    Mo

    Einmal editiert, zuletzt von Morris (15. August 2006 um 10:49)

  • Dann laß mal die erste Zeile auch noch weg:

    Jetzt?

  • Macht keinen Unterschied.
    Die if-Bedingung ist ja eh erfüllt, daher wunder es mich nicht, dass sich dadurch nichts ändert.

    Was mich jedoch wundert ist, dass es der Code nur an genau der Stelle funktioniert an der er jetzt steht.
    Ich hab mal hin und her kopiert, aber nur an dieser Stelle bekomme ich eine Ausgabe.

    Danke
    Mo

  • Code
    $link .= ''; 
    
    
      if (empty($feed_image)) 
      $link .= ')'; 
      } 
     
      if ( intval($optioncount) == 1 ) 
      $link .= ' ('.intval($category->category_count).')</a>';

    [COLOR=#000000][COLOR=#006600]
    [COLOR=black]
    Wäre nicht das logischer?[/COLOR]
    [/COLOR][/COLOR]

  • Das fürt zur Anzeige von
    < a href="#" > Link < / a > (Anzahl) < / a >
    wenn ich
    < ? php wp_list_cats('sort_column=name&optioncount=1'); ? >
    nutze.

    was ich vermuten läßt, dass der "fehler" noch woanders liegt/größer ist.

    Edit: Der Ansatz war schon gut, jedoch bedarf es noch eiber Änderung in Zeile 330.
    diese muß in
    $link .= apply_filters('list_cats', $category->cat_name, $category).'';
    geändert werden

    Danke
    Mo

    Einmal editiert, zuletzt von Morris (15. August 2006 um 11:35)

  • Sorry, hab an der falschen Stelle angesetzt. ;)

    PHP
    330: $link .= apply_filters('list_cats', $category->cat_name, $category).'</a>';

    erweiterst Du auf:

    PHP
    330: $link .= apply_filters('list_cats', $category->cat_name, $category).' ('.intval($category->category_count).')</a>';

    und kommentierst das hier aus:

    PHP
    361: /*if ( intval($optioncount) == 1 )
    362: $link .= ' ('.intval($category->category_count).')';*/

    Habs grad getestet.

  • Zitat von Morris

    Edit: Der Ansatz war schon gut, jedoch bedarf es noch eiber Änderung in Zeile 330.
    diese muß in
    $link .= apply_filters('list_cats', $category->cat_name, $category).'';
    geändert werden

    Danke
    Mo

    Oder so... aber das was ich zuletzt gepostet habe ist übersichtlicher. ;)

Jetzt mitmachen!

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