1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

wp_list_categories parent zu Parent Category

Dieses Thema im Forum "Design" wurde erstellt von Monika, 2. März 2008.

  1. Monika

    Monika Well-Known Member
    Ehrenmitglied

    Registriert seit:
    4. Juni 2005
    Beiträge:
    14.126
    Zustimmungen:
    2
    gibts eine Möglichkeit bei wp_list_categories

    zur Parent Kategorie eine css class hinzuzufügen.

    alles hat eine eigene , aber nicht die Parents (Benachteiligung der Eltern ;) )

    wenn ja wie ?

    :oops:
     
  2. oio

    oio Well-Known Member

    Registriert seit:
    16. Februar 2008
    Beiträge:
    96
    Zustimmungen:
    0
    ausser einer eigenen funktion als ersatz fällt mir auf anhieb nichts ein.

    reicht es nicht, die stufen der parent-child-verbindung über die verschachtelung anzusprechen?

    also:

    ul {
    mach hübsch;
    }
    ul ul {
    mach noch hübscher;
    }
    ul li {
    allen eltern einen gruss;
    }
    ul ul li {
    den kindern ein hurra;
    }

    bzw. die liste einfach für die parents gestalten und dies bei den definierten child-klassen wieder aufzuheben.

    edit: also ich kann mir atm nichts vorstellen, was mit dem gegebenen konstrukt nicht ginge.

    Mod.: bitte mal lesen: http://forum.wordpress-deutschland.org/plugins-und-widgets/29640-forums-hinweis-auszeichnung-von-quelltext-den-posts.html

    edit @mod: ich kann es nicht leiden, wenn man meine posts editiert. die nicht-verwendung der code-tags war hier absicht.
    es liegt nicht in meinem interesse, dass irgendwer dinge wie "mach hübsch" in seinen quelltext pastet.
     
    #2 oio, 2. März 2008
    Zuletzt bearbeitet: 2. März 2008
  3. Monika

    Monika Well-Known Member
    Ehrenmitglied

    Registriert seit:
    4. Juni 2005
    Beiträge:
    14.126
    Zustimmungen:
    2
    nein via css geht gar nichts, weil es gibt ja auch Kagegorien, die keine Kinder haben ;)

    und man kann "rückwirkend" keine css class ansprechen,

    es muss ein filter gebaut werden, aber all meine Versuche führten ins Nirwana,
    bei wp_list_pages gehts bei wp_list_categories tut sich einfach 0 nada niente nix , daher meine Frage ... und suche
     
  4. oio

    oio Well-Known Member

    Registriert seit:
    16. Februar 2008
    Beiträge:
    96
    Zustimmungen:
    0
    ok, wenn es um die differenzierung geht, ob ein punkt kinder hat oder nicht, geht es natürlich rein mit css nicht.

    da hilft in meinen augen nur eine eigene funktion zur listung.

    ob es bereits so etwas bspw. als plugin gibt, weiss ich nicht, da ich wordpress gerade erst kennengelernt habe.

    also: -> selbermachen


    edit: wenn sich bis dahin noch nichts ergeben hat, kann ich das nächste woche mal machen, falls es hilft.
    als plugin oder als funktion für die functions.php / die templates?
     
  5. Monika

    Monika Well-Known Member
    Ehrenmitglied

    Registriert seit:
    4. Juni 2005
    Beiträge:
    14.126
    Zustimmungen:
    2
    ich weiß definitiv , dass es ihm mir bekannten wordpress web sowas nicht gibt, ---- mehr als wochenlange suche bei den verrücktesten links brachte nichts zu tage, außer die Frage danach ;)

    ich warte sehr geduldig .... und wäre... (hach)mehr als glücklichst ...;)
    :mrgreen:
     
  6. oio

    oio Well-Known Member

    Registriert seit:
    16. Februar 2008
    Beiträge:
    96
    Zustimmungen:
    0
    'nabend

    eine möglichkeit wäre gewesen, eine ganz eigene funktion als ersatz für wp_list_categories zu schreiben.

    um das ganze aber möglichst kompatibel zu halten habe ich einen wrapper erstellt, der die originalfunktion von wordpress verwendet.
    dabei habe ich es jetzt erst einmal ganz einfach gehalten, da ich den speziellen anwendungsfall nicht kenne.

    was macht die funktion also?

    es wird nahezu der original-output von wp verwendet und nur alle list-elemente mit "kindern" um die css-klasse: 'parent' erweitert.
    alle argumente der original-wp-funktion lassen sich verwenden und werden mit durchgeschleust.

    für die functions.php:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    beispielanwendung im template (sidebar.php):
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    also genau wie zuvor; nur "cg_" statt "wp_".

    beispiel-css, das ich zum testen verwendet hatte:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    aus original (wp_list_categories)
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    wird also (cg_list_categories)
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    wenn "kinder" vorhanden sind.

    alles ausprobiert im standard-de-theme, aber nicht ausgiebig getestet.

    wenn es jetzt darum geht, wirklich individuelle navigationen zu erstellen (horizontal, dropdown, spezielleres styling, angepasst für dynamische javascript-menüs, etc.) würde ich dazu übergehen eine komplett eigene funktion zu schreiben, bzw. im nächsten schritt dann ein plugin.

    reicht dir das?


    edit: sehe gerade, da stimmt irgendwas am regulären ausdruch noch nicht.
    sind die kategorien etwas mehr verschachtelt läuft da was nicht. schaue ich mir die tage noch mal an.
     
    #6 oio, 4. März 2008
    Zuletzt bearbeitet: 4. März 2008
  7. Monika

    Monika Well-Known Member
    Ehrenmitglied

    Registriert seit:
    4. Juni 2005
    Beiträge:
    14.126
    Zustimmungen:
    2
    das parent steht bei einer einzigen Kategorie dabei und die hat aber keine Kinder ich zeig mal den Quellcode

    HTML:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    ;) diese Funktion ist hartnäckigst
     
    #7 Monika, 4. März 2008
    Zuletzt bearbeitet: 4. März 2008
  8. oio

    oio Well-Known Member

    Registriert seit:
    16. Februar 2008
    Beiträge:
    96
    Zustimmungen:
    0
    ich korrigiere das die tage noch mal.
    meine testfälle waren zu einfach gestrickt, so dass ich ein paar sachen übersehen hatte.
     
  9. Monika

    Monika Well-Known Member
    Ehrenmitglied

    Registriert seit:
    4. Juni 2005
    Beiträge:
    14.126
    Zustimmungen:
    2
    ich danke Dir :)

    lg
     
  10. oio

    oio Well-Known Member

    Registriert seit:
    16. Februar 2008
    Beiträge:
    96
    Zustimmungen:
    0
    antwort kommt noch ... habe es nicht vergessen ... nur beim zweiten drübersehen festgestellt, dass man da nicht einfach so mit den regexpressions drübergehen kann.

    muss mir da noch einen trick einfallen lassen.
    würde ungern eine neue wp_list_categories erstellen. da ist so ein "category walker" drin für die rekursion. das anzufassen sieht nach arbeit aus ... :)
     
  11. Monika

    Monika Well-Known Member
    Ehrenmitglied

    Registriert seit:
    4. Juni 2005
    Beiträge:
    14.126
    Zustimmungen:
    2
    ich versteh dabei nur, dass es meine Sicht der Dinge bestätigt, und ich -gott sei dank-nicht total doof war es hinzubekommen, denn ich gebe zu ich bin in php bei leibe nicht so firm wie in css ......:oops:


    somir danke ich Dir für Dein Bemühen und warte unendlichst geduldig ...

    ;)
     
  12. oio

    oio Well-Known Member

    Registriert seit:
    16. Februar 2008
    Beiträge:
    96
    Zustimmungen:
    0
    mit den möglichkeiten des umgangs mit kategorien bin ich auch nicht zufrieden. über kurz oder lang werde ich da mal zeit investieren müssen.
    ich hatte mir das navt-plugin angesehen. da sind allerdings etliche fehler im code, der output unschön und es werden mengen unnötiger css-klassen gesetzt.


    naja, zum hier genannten; mein nächster ansatz ist:
    1.
    den output-string von wp_list_catogories invertieren, um von hinten den ersten li-tag nach dem child-ul zu erwischen.
    da man sonst das gierige verhalten der regexpressions nicht in den griff bekommt.
    oder 2.
    mir die hilfsfunktionen in /wp-include/category.php und category-template.php ansehen, um daraus etwas brauchbares zu bauen.

    falls also jemand schneller ist oder einen besseren einfall hat ... bitte gerne :)
     
  13. oio

    oio Well-Known Member

    Registriert seit:
    16. Februar 2008
    Beiträge:
    96
    Zustimmungen:
    0
    ok, habe es jetzt ziemlich schnell hinbekommen.
    sind nur zwei zeilen :)

    allerdings mit einer modifikation der class Walker_Category in /wp_includes/classes.php.

    ich schaue dann mal, wie ich das in die functions.php bekomme, so dass der core unangetastet bleibt. den ganzen kram duplizieren ist irgendwie aber auch unschön ...

    also, falls du es testen möchtest, in der /wp_includes/classes.php nach zeile 637 ($class = 'cat-item cat-item-'.$category->term_id; ) folgendes ergänzen:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  14. oio

    oio Well-Known Member

    Registriert seit:
    16. Februar 2008
    Beiträge:
    96
    Zustimmungen:
    0
    bevor ich ins wohlverdiente wochenende gehe eine kurze zwischenmeldung.

    im ansinnen ist dies ja nicht so kompliziert (bzw. oben ja auch schon gelöst).
    das eigentlich aufwändige ist nämlich, die gewünschte funktion so zu integrieren, dass das ganze upgrade-fähig bleibt und kein "reinbasteln" ist.
    daher dauert es von meiner seite auch etwas länger, weil ich mich erst einmal mehr mit dem aufbau der programmierung von wordpress auseinandersetze (plugins, hooks, etc.).
    in den grundzügen ist mir dies mittlerweile klar, ich brauche einfach mal eine ruhige stunde zeit, um es fertig zu machen.

    ziel ist also: ein plugin, das zusätzlich zur wp_list_categories eine funktion cg_list_categories verfügbar macht, mit kenntlichmachung per parent-class für kategorien mit unterkategorien.

    die verzögerung resultiert also daraus, dass ich als neuling in wordpress mich erst einmal noch mit der dahinterliegenden struktur vertraut mache.

    stay tuned ...
     
  15. Monika

    Monika Well-Known Member
    Ehrenmitglied

    Registriert seit:
    4. Juni 2005
    Beiträge:
    14.126
    Zustimmungen:
    2
    :D aber immer ....
     
  16. oio

    oio Well-Known Member

    Registriert seit:
    16. Februar 2008
    Beiträge:
    96
    Zustimmungen:
    0
    frohe ostertage!

    im anhang ein plugin für dieses anliegen.

    verwendung im template:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    beispiel-css (für style.css) als test im standard de-theme:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    plugin-ordner entpacken, verzeichnis hochladen in /wp-content/plugins/, plugin über die admin aktivieren.
    dann ist die funktion cg_list_categories als ersatz zu wp_list_categories verwendbar mit gleichem funktionsumfang.
    siehe: Template Tags/wp list categories « WordPress Codex

    einziger unterschied: parent-kategorien erhalten eine zusätzliche css-klasse "parent".

    getestet mit wordpress 2.3.3, 2.5 RC1 und 2.5 beta (aktuelle entwicklerversion), allerdings nur oberflächlich.

    bisher macht das nicht allzuviel; mal schauen, ob es für deinen zweck ausreicht.
     
    #16 oio, 22. März 2008
    Zuletzt bearbeitet: 22. März 2008
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden