Kategorien nach (nicht alphabetischen!) IDs sortieren

  • Hallo,

    ich hab jetzt zig Varianten nach dem codex durch. Aber als Nicht-PHPler finde ich leider nicht raus, wie ich meine widgets.php dadurch ändern kann, dass meine Kategorien gelistet werden:

    nicht alphabetisch,
    sondern nur nach meinen gewünschten IDs
    in meiner ID-Reihenfolge
    und mit einer ID ausgeschlossen.


    Momentan sieht es so aus:

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

    Es zeigt die leeren Kategorien an = OK
    Es schließt die gewünschte Kategorie mit der ID 24 aus = OK

    Jedoch listet er (wohl standardmäßig) die Kategorien nach Alphabet.

    Ich möchte aber sortiert haben nur nach der ID-Nummer (die halt blöderweise nicht einer alphabetischen Reihenfolge entspricht) und ganz wichtig: nicht der numerischen Folge, sondern in meiner:

    ID 23 ("New photos")
    ID 1 ("General")
    ID 22 ("Projects")
    ID 7 ("Art & Design")
    ID 6 ("Photography")
    ID 14 ("Webdesign")


    Ich habe es mit sort_column und dahinter mit den IDs in meiner gewünschten Reihenfolge versucht, geht nicht:

    PHP
    <?php wp_list_categories($cat_args . 'sort_column=23,1,22,7,6,14&title_li=&hide_empty=0&exclude=24'); ?>

    Nach wie vor zeigt es die Kategorien in alphabetischer Reihenfolge der Kategorienamen an.

    Selbst mit dem Plugin "Extended Categories" kann man die IDs nur auf- oder absteigend sortieren, nicht aber in beliebiger Reihenfolge.


    Weiß jemand, wie man die PHP-Syntax dafür korrekt schreibt?

    Danke.

    WP 6.5.4 Multisite · PHP 8.3 · Theme "ENFOLD"

    Einmal editiert, zuletzt von csign (4. April 2008 um 15:42)

    • 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 habe es mit sort_column und dahinter mit den IDs in meiner gewünschten Reihenfolge versucht, geht nicht:

    PHP
    <?php wp_list_categories($cat_args . 'sort_column=23,1,22,7,6,14&title_li=&hide_empty=0&exclude=24'); ?>

    Nach wie vor zeigt es die Kategorien in alphabetischer Reihenfolge der Kategorienamen an.

    ich habe da keine lösung für dich, aber der hinweis dass du den parameter sort_column nicht an die funktion wp_list_categories übergeben kannst, oder habe ich hier Template Tags/wp list categories « WordPress Codex was übersehen

    orderby bietet keine individuelle reihenfolge, aber das hast du ja schon selber rausgefunden

  • Danke, aber das ist a) das gleiche wie "extendes categories".
    Man kann zwar damit Kategorien bequem ein- und ausschließen, aber das war's dann auch schon.
    Es lässt sich damit nichts sortieren!

    siehe Screenshot anbei


    Und b) geht damit schon gleich gar nichts mehr. Es zeigt nur "no categories" an, obwohl welche eingetragen sind - siehe Screenshot.

    Das Plugin liegt im Pluginordner und diese taxonomy.php (wofür auch immer die gut sein soll) im include-Ordner wie gefordert.

    Die Widgets-Datei habe ich vorher von meinem Geteste befreit und in den Originalzustand versetzt:

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



    :confused:

    WP 6.5.4 Multisite · PHP 8.3 · Theme "ENFOLD"

  • So, jetzt hab ich zumindest raus, dass man erst unter "Verwalten" und "My Category Order" die Kategorien rumschieben muss, wie man sie braucht.

    So weit, so gut. Jetzt zeigt es sie im Frontend an.

    Aber wiedermal nur die, wo Postings drin sind. Die ohne erscheinen nicht.

    :twisted:

    Da kann man ja gleich wieder in der widgets.php rumpfuschen :evil:
    Aber denkste: selbst das bringt nichts!

    leere Kategorien werden nicht angezeigt trotz:
    [LEFT] [COLOR=#000000] [COLOR=#0000cc]

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

    [/COLOR] [/COLOR] [/LEFT]

    WP 6.5.4 Multisite · PHP 8.3 · Theme "ENFOLD"

    Einmal editiert, zuletzt von csign (4. April 2008 um 22:42)


  • [COLOR=#000000][COLOR=#0000cc]

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

    hilft das?

    lg
    [/COLOR][/COLOR]

  • ok, ich hab's: man darf nicht die widgets.php bzgl. des Anzeigens leerer Kategorien ändern, sondern die php des Plugins und zwar in Zeile 178, dort steht:

    PHP
    wp_list_categories($cat_args . '&title_li=');

    und ersetzt man mit

    PHP
    wp_list_categories($cat_args . '&title_li=&hide_empty=0');

    Schwere Geburt, aber jetzt klappts:

    • Kategorien sortieren, wie man lustig ist
    • includen und excluden, wie man lustig ist
    • Kategorien zeigen, die leer sind

    Nicht vergessen: ohne unter "Verwalten" die Kategorien zu verschieben, geht gar nix ("no categories" im Frontend), selbst wenn man welche angelegt hat! :mrgreen:

    Danke nochmal für den Link mit dem Plugin.

    WP 6.5.4 Multisite · PHP 8.3 · Theme "ENFOLD"

    Einmal editiert, zuletzt von csign (4. April 2008 um 23:14)

  • Der Autor von diesem Plugin (Geeky Weekly » Wordpress Plugin - My Category Order) hat mir freundlicherweise gerade eine Mail geschickt mit der Ankündigung eines Releases, wo im Widget eine Checkbox integriert sein wird, dass man auch Kategorien ohne Inhalt anzeigen oder eben nicht anzeigen lassen kann.

    Lohnt sich also, obige Seite im Auge zu behalten.
    :-D

    WP 6.5.4 Multisite · PHP 8.3 · Theme "ENFOLD"

  • Das Update ist da:

    Plugin "My Category Order":

    WordPress › My Category Order « WordPress Plugins

    Damit muss in keiner php-Datei mehr etwas rumgepfuscht werden ;-)

    Das Ganze ist ein Sidebar-Widget, mit dem man die Kategorien listen kann, wie man will, nach was man will, man kann leere anzeigen lassen oder nicht - alles per Checkbox, include, exclude etc.

    Feine Sache! Hab es bei mir unter WP 2.5 getestet ... geht einwandfrei.

    WP 6.5.4 Multisite · PHP 8.3 · Theme "ENFOLD"

  • danke dir für deine Arbeit-ich habe diesen Thread als Favorit gespeichert und werde dieser Tage das Plugin und so auf texto.de vorstellen,
    damits *die Welt* (hüstel) auch erfährt

    lg

  • mmmh - ich setze das plugin auf wordpress 2.5 ein. ich kann zwar ganz leicht meine kategorier mit dem modul verschieben, aber letztlich werden sie weiterhin alphabetisch angezeigt :-(

    hat jemand einen tipp?

    ich danke euch
    MUMPINE

    Das Leben liebt es, uns auf Schritt und Tritt zu verspotten.

  • Hi marX

    vielen Dank für Deine Antwort!

    Korrekte Version 2.5? Mmmh - davon gehe ich aus, Vers. ist vom 31.03 ...
    Taxonomy.php habe ich überschrieben

    und dank Deiner Nachfrage wußte ich jetzt auch, was ich total verpeilt habe - die Widgets ....*hüstel*
    Mal wieder etwas DAU gewesen ...

    Ich danke Dir sehr - Deine Antwort war sehr hilfreich! (Hurra es geht jetzt!)

    Liebe Grüße

    MUMPINE

    Das Leben liebt es, uns auf Schritt und Tritt zu verspotten.

  • So, hier kommt der nächste DAU. Das Sortieren und das Einsetzen des Widget in die Sidebar funktioniert.

    Bei mir sind die Kategorien als Menü mittels einer horizontal angezeigten Liste integriert. Um die Kategorien jetzt wie mit dem Widget in der Sidebar zu sortieren muss ich wohl den Programmcode des Widgets in den Befehl der Menüleiste einsetzen.

    Mein Code in der horizontalen Menüleiste:

    PHP
    <?php wp_list_categories('title_li=&exclude=' . $ex_aside) ?>

    Frage dazu: Wie komme ich denn an den Programmcode des Widgets vom Plugin "My Category Order" ??

    EDIT: Immer gut wenn man lesen kann...
    http://geekyweekly.com/mycategoryorder: Sidebar Modification: If you aren’t using widgets then you’ll need to change your template to use the new sort parameter, “orderby=order”:

    Code
    wp_list_categories(’orderby=order&hierarchical=0&title_li=’);

    Code im Menü ergänzt und alles funktioniert! :)

    Einmal editiert, zuletzt von Thomas Krüger (16. Juli 2008 um 13:55)

Jetzt mitmachen!

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