wp_list_cats before & after ???

  • hallo alle,

    gibt es bei diesem tag eine möglichkeit before und after elemente zu setzen.

    genauer:
    mein anliegen ist es, dass die kategorien jeweils in div-containern gelistet werden.
    habt ihr eine idee wie sich das realisieren lässt für den tag "wp_list_cats" sind keine parameter für before und after?

    danke für eure hilfe!

    gruss, tomeccco

    • 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

  • Müssen es denn unbedingt DIV-Container sein?
    Schließlich kannst du ja per CSS alle möglichen Eigenschaften zuweisen...
    Die Klasse wäre cat-item (jedenfalls bei wp_list_categories).

    "Eine gut gestellte Frage ist schon halb beantwortet."

  • hi,

    danke für die antwort und das verschieben!

    leider verstehe ich nicht was du mit cat-item als klasse meinst (hab danach
    gesucht)
    unter den parametern finde ich aber nichts.


    und ja es muss wirklich ein div drum !

    danke und gruss, tomeccco

  • Zitat

    und ja es muss wirklich ein div drum !



    Ich kann mir keinen Fall vorstellen, in dem das nötig wäre, denn es gibt ja schon einen spezifischeren HTML-Tag (<li> für die einzelne Kategorie oder <ul> für die gesamte Liste). Damit kann man eigentlich alles per CSS formatieren (wenn man weiß wie).

    S. auch Divitis - Wikipedia

  • ich will folgende darstellung:

    Zitat

    | kategorie (titel)
    |
    | |kategorietitel
    |
    | |kategorietitel 2
    |

    die | sind border-left.
    sowas geht nunmal mit einer liste nicht.

  • Ja und? Is doch kein Problem. Auch ohne irgendwelche DIVs. Und auch die Browseranzeige ist überall gleich, zur Not muss man halt ein paar CSS-Hacks einsetzen.

    HTML:

    Code
    <ul>
    <li>Themes:
      <ul>
       <li>Punkt 1</li>
       <li>Punkt 2</li>
      </ul>
    </li>
    </ul>

    CSS:

    Code
    #sidebar ul {
    border-left:1px solid #00f;
    color:#0f0;
    }
    #sidebar ul ul li {
    border-left:2px solid #00f
    color:#770;
    }
  • nagut das würde möglicherweise tatsächlich funktionieren.

    in meinem spezifischen fall aber funktioniert das nicht.

    könnt ihr mir helfen, dass ich einfach alle kathegorien ausgegeben bekomme
    (mit den anzahl posts in klammern).

    ich habe das bereits mit einer direkten datenbankabfrage versucht:
    "SELECT * FROM wp_categories"

    nur habe ich natürlich jetzt alle categorien auch die welche nicht published
    sind.
    desweiteren wollte ich die posts pro categorie zählen.

    leider sind die datensätze nicht leicht durchsehbar.
    wie müssten die jeweiligen abfragen da lauten?

    es gibt ja auch noch irgendwelche query-tags kommt man möglicherweise
    mit denen weiter?

    schlussendlich gehts aber immernoch darum, dass da div`s drum müssen.


    danke und gruss, tomeccco

  • Also mein Code macht genau das, was du in deinem Beispielbild gezeigt hast. Warum also funktioniert das in deinem Fall nicht?

    Die Datenbankabfrage wirst du so vielleicht hinbekommen (kannst dich ja am Original-WP-Code orientieren, musst dich nur durch die Inlude-Files zur Funktion get_cats() oder so durchwühlen) - allerdings sitzt du dann spätestens beim Upgrade auf Version 2.3 auf dem Trockenen. Da gibts nämlich keine Tabelle "wp_categories" mehr (die heißt jetzt wp_terms und hat noch andere Inhalte).

  • die datenbankabfrage ist auf jedenfall eher komplex.
    ich blick da jedenfalls nicht durch.

    ich habs deswegen doch nochmal mit einer liste versucht:
    test

    jetzt müsste aber die überschrift noch 5px vom linken border entfernt sein
    sowie die einzelenen listenpunkte 5px in der höhe.

    man sieht das im verlinkten html-file.


    mit meinen css-kenntnissen komm ich leider nicht weiter.
    hat jemand einen tip für mich?

    danke und gruss, tomeccco

  • Aha. Und warum nicht gleich so? SCNR :twisted:

    Für die Abstände links zum border:

    Code
    padding-left:5px;


    an der gewünschten Stelle im Stylesheet einfügen. Eventuell musst du eine neue Regel anlegen, sowas wie .cat_list ul li { padding-left:5px; }

    Für die Abstände nach oben/unten:

    Code
    .cat_list ul li {
    margin:5px 0;
    }

    Zum Verständnis:
    Außenabstand (margin): Abstände: Übersicht: CSS-Referenz auf CSS 4 You - The Finest in Stylesheets
    Innenabstand (padding): Abstände: Übersicht: CSS-Referenz auf CSS 4 You - The Finest in Stylesheets

  • danke für deine geduldige unterstützung!

    du bringst mich jetzt wirklich weiter.
    wenn du in mein file schaust, siehts du mein css-code.

    was mir jetzt noch fehlt, ist das die ganze sache 5px von links wegrückt.
    im bsp ist body margin 0px; aber in real ist da ein div mit einem left-border.

    greez, tomeccco

    ps: btw: was heisst SCNR ? ;-)
    ich kann ja verstehn, dass mein sturkopf nervig ist.
    dachte für mich ist es einfach der leichtere weg mit der datenbank, was mit den
    doch eher sehr verstrickten tables eher sehr komplex ist und wenn du sagst nicht(oder schwer)updatbar....

    Einmal editiert, zuletzt von tomeccco (14. Oktober 2007 um 22:07)

  • danke für deine geduldige unterstützung!

    du bringst mich jetzt wirklich weiter.


    Schön, so solls ja sein. Und ich freu mich, dass du jetzt endlich auf meine Hinweise eingehst. :-)

    Zitat

    wenn du in mein file schaust, siehts du mein css-code.

    was mir jetzt noch fehlt, ist das die ganze sache 5px von links wegrückt.
    im bsp ist body margin 0px; aber in real ist da ein div mit einem left-border.


    Du brauchst einen Außenabstand nach links zu deiner ul-Liste. Also ändere die Zeile

    Code
    .cat_list ul {
    margin:0px 0px 0px [COLOR="Red"][B]5px[/B][/COLOR];
    }


    Den Link zur Erklärung von "margin" hatte ich dir ja oben schon geschickt.

    Du kannst auch dem umschließenden DIV ein padding(-left) von 5px geben, dann gilt der Abstand vom Rand für alle Elemente innerhalb des DIVs.


    Zitat

    ps: btw: was heisst SCNR ? ;-)


    "Sorry, I Could Not Resist" - also in etwa: "Tut mir leid, aber ich konnte einfach nicht widerstehen." ;-)

    Zitat

    ich kann ja verstehn, dass mein sturkopf nervig ist.
    dachte für mich ist es einfach der leichtere weg mit der datenbank, was mit den
    doch eher sehr verstrickten tables eher sehr komplex ist und wenn du sagst nicht(oder schwer)updatbar....


    Japp, langsam hatte ich auch keine Lust mehr. Aber dann hast du dich ja doch noch entschieden, meine Variante auszuprobieren. :-)

  • danke nochmals vielmals für deine geduld.

    Code
    .cat_list ul {
    margin:0px 0px 0px [COLOR=Red][B]5px[/B][/COLOR];
    }

    klappt irgendwie nicht, weil die ul in der ul margin 0 sein muss.

    aber natürlich klappt es mit dem padding im div mit dem border left.

    somit stimmt das design mit meiner vorlage überein und alle probleme sind dank dir beseitigt.

    das ist auf jedenfall sauberer als mit divs und wohl updatefähig.


    vielen dank und gruss,

    tomeccco

  • klappt irgendwie nicht, weil die ul in der ul margin 0 sein muss.


    Bitte was? Versteh ich jetzt nicht. Na egal, gibt ja meistens mehrere Wege zum Ziel.

    Zitat

    aber natürlich klappt es mit dem padding im div mit dem border left.

    somit stimmt das design mit meiner vorlage überein und alle probleme sind dank dir beseitigt.

    Sehr schön! :-D

    Zitat

    das ist auf jedenfall sauberer als mit divs und wohl updatefähig.

    Na auf jeden Fall. Die Output-Struktur des Kategorielistings wird sich sicher - wenn überhaupt - nur sehr selten ändern.

    Zitat

    vielen dank und gruss,

    tomeccco

    Gruß zurück! :-)
    marX

Jetzt mitmachen!

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