Bug? Heraushebung des Autorenkommentars vererbt sich bei Replys

  • Hallo, ich habe mittels der CSS-Anweisung

    Code
    .bypostauthor .commentbody {background-color:black;} 
    .bypostauthor .comment-text p {color:red;}

    Autorenkommentare hervorgehoben.

    Antwortet allerdings ein Nutzer auf einen Kommentar des Autors (verschachtelte Kommentare), so wird auch dieser Kommentar hervorgehoben, obwohl er nicht vom Autor, sondern von einem gewöhnlichen Benutzer stammt. Hier ein Quellcodeausschnitt:

    Leider sehe ich auf Grund des von Wordpress erzeugten Quellcode keine Möglichkeit, die Weitervererbung zu stoppen. Dies ginge z. B., wenn

    Code
    <div class="comment-author vcard">

    noch eine zusätzlich Klasse besäße

    Code
    <div class="comment-author vcard style-comment-author-xxx">

    und ich dann mittels der CSS-Anweisung

    Code
    .bypostauthor .style-comment-author-xxx {background-color:black;}

    den Kommentar stylen könnte.

    Habe ich einen Wordpress-Bug gefunden oder gibt es einen Weg, Autorenkommentare so zu gestalten, dass normale Nutzerkommentare, die darauf antworten, nicht automatisch den Style des Autorenkommentars übernehmen?

    • 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

  • Du hast die

    Code
    <ul class='children'>


    Richtig. Damit könnte ich die die Hervorhebung rückgängig machen - allerdings nur in diesem Beispiel. Dafür habe ich zwei andere Probleme:

    1. Wenn der Autor allerdings auf einen der Folgekommentare antwortet, hat sein Kommentar ebenfalls die Klasse "children" und würde nicht mehr farblich hervorgehoben werden.

    > Autorenkommentar
    >> Besucherkommentar
    >>> Autorenkommentar

    2. Wenn der Autor auf einen Besucherkommentar der ersten Ebene antwortet, wird der Autorenkommentar ebenfalls nicht hervorgehoben, da er die Klasse "children" hat.

    > Besucherkommentar
    >> Autorenkommentar

  • Mit

    Code
    ul li.bypostauthor .comment-text p {color:white;}
    ul li ul li.comment .comment-text p {color:red;}
    ul li ul li.bypostauthor .comment-text p {color:green;}
    ul li ul li.comment .comment-text p {color:yellow;}
    ul li ul li ul li.bypostauthor .comment-text p {color:brown;}
    ul li ul li ul li.comment .comment-text p {color:orange;}

    kann man verschachtelte Kommentare bis zur 2. Ebene ansprechen. Ab der 3. Ebene werden sie vom Browser nicht mehr korrekt gerendert. Der Autorenkommentar in der 3. Ebene ist orange, nicht braun.

    Der Render-Fehler kommt wahrscheinlich daher, dass die lis der Autorenkommentare gleichzeitig die Klassen .bypostauthor und .comment haben und der Browser sich nicht entscheiden kann, wie er zu rendern hat.

    Was Wordpress an dieser Stelle fehlt ist eine Klasse .bypostreader für alle Kommentare, die nicht vom Post-Autor vergeben wurden. Dann könnte man wie folgt ansprechen:

    Code
    ul li.bypostauthor .comment-text p {color:white;}
    ul li ul li.bypostreader .comment-text p {color:red;}
    ...

    Alternativ könnten die Browserhersteller ihre Browser verbessern. Allerdings wäre die gewünschte Klasse trotzdem praktisch, denn bei 10 Ebenen wird es vor lauter ullis unübersichtlich.

  • Gibt´s nen Link zur Website, damit man sich das mal live ansehen kann?


    Jep, hier.

    Autorenkommentare sollen folgende Eigenschaften haben:

    Code
    {background-color:rgba(0,0,0,0.2);}
    a:visited, a:link, a:visited {color:#b48a5f;}
    a:hover, a:active, {color:#936d44;}

    Alle anderen Kommentare sollen silberne Schrift und keine Hintergrundfarbe haben.

    Den Hintergrund kann ich mit der Klasse .children noch wie gewünscht ändern. Bei der Schrift weiß ich leider nicht mehr weiter.

    Ich bin für jede Hilfe dankbar!

  • Dir wird da wohl nichts übrig bleiben als so vorzugehen:

    Code
    li.comment-author-caro{/*dein Style*/}
    li.comment-author-caro ul li{/*andere Styles*/}
    li.comment-author-caro ul li.comment-author-caro{/*dein Style*/}
  • Vielen Dank, so hat es doch noch geklappt.

    Der Code ist allerdings Wahnsinn... ;)

Jetzt mitmachen!

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