Niedawno pokazaliśmy, jak stylizować formularz komentarza WordPress i pomyśleliśmy, że byłoby niekompletne, gdybyśmy nie napisali o stylizacji układu komentarzy WordPress. W przeszłości mówiliśmy o tym, że istnieją domyślne klasy CSS i identyfikatory generowane przez WordPress, które ułatwiają projektantom motywów stylizowanie ich szablonów. W tym artykule użyjemy tych domyślnych klas, aby pokazać, jak stylizować twój układ komentarzy WordPress i niektóre z fajnych rzeczy, które możesz z nim zrobić.
Na potrzeby tego przykładu, w tym artykule będziemy modyfikować domyślny motyw Twenty Twelve WordPress. Uwaga: Ten artykuł jest przeznaczony dla początkujących projektantów motywów i majsterkowiczów, którzy dobrze znają HTML i CSS.
Domyślne klasy komentarzy WordPress
Domyślnie WordPress generuje te klasy dla elementów w szablonie komentarzy:
/*Comment Output*/ .commentlist .reply {} .commentlist .reply a {} .commentlist .alt {} .commentlist .odd {} .commentlist .even {} .commentlist .thread-alt {} .commentlist .thread-odd {} .commentlist .thread-even {} .commentlist li ul.children .alt {} .commentlist li ul.children .odd {} .commentlist li ul.children .even {} .commentlist .vcard {} .commentlist .vcard cite.fn {} .commentlist .vcard span.says {} .commentlist .vcard img.photo {} .commentlist .vcard img.avatar {} .commentlist .vcard cite.fn a.url {} .commentlist .comment-meta {} .commentlist .comment-meta a {} .commentlist .commentmetadata {} .commentlist .commentmetadata a {} .commentlist .parent {} .commentlist .comment {} .commentlist .children {} .commentlist .pingback {} .commentlist .bypostauthor {} .commentlist .comment-author {} .commentlist .comment-author-admin {} .commentlist {} .commentlist li {} .commentlist li p {} .commentlist li ul {} .commentlist li ul.children li {} .commentlist li ul.children li.alt {} .commentlist li ul.children li.byuser {} .commentlist li ul.children li.comment {} .commentlist li ul.children li.depth-{id} {} .commentlist li ul.children li.bypostauthor {} .commentlist li ul.children li.comment-author-admin {} #cancel-comment-reply {} #cancel-comment-reply a {}
.
Jak znaleźć klasy CSS, które należy edytować?
Zanim przejdziemy do stylizacji układu komentarzy WordPress, mała wskazówka dla naszych nowych użytkowników. Przeglądarki internetowe Google Chrome i Mozilla Firefox są wyposażone w przydatne narzędzie, którego możesz użyć, aby poprawić swoje umiejętności tworzenia motywów WordPress. Narzędzie to nosi nazwę Inspect Element. Wystarczy, że najedziesz myszką na element na stronie, klikniesz prawym przyciskiem myszy i wybierzesz inspect element. Okno twojej przeglądarki zostanie podzielone na dwa wiersze, a w dolnym oknie zobaczysz kod źródłowy tego elementu. Również w dolnym oknie będziesz mógł zobaczyć elementy CSS i sposób ich stylizacji. Możesz tam nawet edytować CSS w celach testowych. Ważne jest, aby pamiętać, że wszystko, co zmienisz za pomocą Inspect Element, będzie widoczne tylko dla ciebie. Po odświeżeniu strony zmiany te znikną. Aby zmiany trwały, musisz użyć pliku style.css lub innych odpowiednich plików w twoim motywie.
Dodawanie nieparzystych i parzystych kolorów tła dla komentarzy
Posiadanie różnych kolorów tła dla nieparzystych i parzystych komentarzy to trend w projektowaniu, który istnieje już od kilku lat. Pomaga to w czytelności, szczególnie w przypadku dużej liczby komentarzy. Wygląda to również bardzo dobrze z niektórymi kolorami motywu, dlatego wielu projektantów chce wykorzystać tę funkcjonalność. Aby pomóc projektantom osiągnąć ten cel, WordPress dodaje odpowiednio nieparzystą i parzystą klasę do każdego komentarza.
Możesz łatwo dodać styl nieparzysty/parzysty dla komentarzy w pliku style.css twojego motywu, wklejając następujący kod.
.commentlist .even .comment { background-color:#ccddf2; } .commentlist .odd .comment { background-color:#CCCCCC; }
.
Wynik wyglądałby mniej więcej tak:
Stylizacja autora komentarza i informacji meta
WordPress dodaje również klasy do elementów wyświetlanych w każdym nagłówku komentarza. Pozwala to projektantom motywów na dostosowanie wyświetlania informacji o autorze i innych meta komentarzy, takich jak data i godzina komentarza. Oto przykładowy kod, który można wkleić do pliku style.css twojego motywu, aby nadać tym elementom inny styl. W tym przykładzie dodaliśmy kolor tła do meta komentarza wraz z pewnymi odstępami.
.comments-area article header { margin: 0 0 48px; overflow: hidden; position: relative; background-color:#55737D; color:#FFFFFF; padding: 10px; }
.
Tak to powinno wyglądać:
Stylizacja wpisów autorów na różne sposoby
Często można zauważyć, że komentarze autorów wpisów są wyróżnione innym kolorem tła lub dodatkową plakietką. WordPress dodaje domyślną klasę bypostauthor
do wszystkich komentarzy autora wpisu. Projektanci motywów WordPress mogą użyć tej klasy, aby nadać inny styl wpisom autorów.
Niektóre motywy używają własnej funkcji zwrotnej do wyświetlania komentarzy. Korzystając z funkcji wywołania zwrotnego, motywy te mogą dodawać dodatkowe informacje do komentarza według autora wpisu. Na przykład Twenty Twelve używa następującej linii w funkcji wywołania zwrotnego komentarza twentytwelve_comment()
(znajdującej się w pliku functions.php
motywu).
// If current post author is also comment author, make it known visually. ( $comment->user_id === $post->post_author ) ? '<span> ' . __( 'Post author', 'twentytwelve' ) . '</span>' : '' );
.
Ten kod dodaje <span>Post Author</span>
do metainformacji komentarza. W zależności od tego, w jaki sposób twój motyw WordPress obsługuje komentarze autora wpisu, możesz zmodyfikować to w dowolny sposób.
Jeśli używasz innego motywu niż Twenty Twelve, musisz dowiedzieć się, jak twój motyw obsługuje komentarze. Wystarczy otworzyć plik comments.
php twojego motywu. Jeśli twój motyw używa własnej funkcji wywołania zwrotnego, zobaczysz ją w funkcji wp_list_comments
, jak poniżej:
<?php wp_list_comments( array( 'callback' => 'twentytwelve_comment', 'style' => 'ol' ) ); ?>
.
W powyższym przykładzie widać, że motyw używa twentytwelve_comment
jako funkcji zwrotnej. Jeśli określono funkcję zwrotną, najbardziej prawdopodobną lokalizacją do znalezienia tej funkcji jest plik functions.php twojego motywu.
W tym przykładzie zmieniamy tę funkcję, aby wyświetlała Redaktora zamiast Autora wpisu. Aby to zrobić, zmodyfikowaliśmy funkcję wywołania zwrotnego komentarza w następujący sposób:
// If current post author is also comment author, make it known visually. ( $comment->user_id === $post->post_author ) ? '<span> ' . __( 'Editor', 'twentytwelve' ) . '</span>' : '');
.
Zamierzamy również zmodyfikować sposób, w jaki to wygląda, dodając następujące elementy w pliku style.css naszego motywu w następujący sposób:
li.bypostauthor cite span { color: #21759b; background-color: #f8f0cb; background-image: none; border: 1px solid #f8f0cb; border-radius: 3px; box-shadow: none; padding: 3px; font-weight:bold; }
.
Tak to będzie wyglądać:
Stylizacja odnośnika odpowiedzi na komentarz w komentarzach WordPress
Większość motywów WordPress posiada odnośnik odpowiedzi pod każdym komentarzem. Ta funkcja jest wyświetlana tylko wtedy, gdy włączone są komentarze podzielone na wątki. Aby włączyć komentarze w wątkach, przejdź do swojego panelu administracyjnego WordPress(Ustawienia ” Dyskusja). Zajrzyj do sekcji, w której znajdują się inne ustawienia komentarzy i zaznacz pole włączające komentarze wątkowe (zagnieżdżone).
Domyślne klasy CSS generowane przez WordPress dla odnośnika odpowiedzi to reply
i comment-reply-link
. Użyjemy tych klas do zmodyfikowania odnośnika odpowiedzi i przekształcenia go w przycisk CSS.
.reply { float:right; margin:0 10px 10px 0; text-align:center; background-color: #55737D; border:1px solid #55737D; border-radius:3px; padding:3px; width:50px; box-shadow: 1px 1px 2px 2px #4f4f4f; } .comment article { padding-bottom:2.79rem; } a.comment-reply-link, a.comment-edit-link { color: #FFFFFF; font-size: 13px; font-size: 0.928571429rem; line-height: 1.846153846; text-decoration:none; } a.comment-reply-link:hover, a.comment-edit-link:hover { color: #f6e7d7; }
.
Tak to będzie wyglądać:
Stylizacja przycisku edycji komentarza
W większości motywów WordPress logujący się użytkownicy z możliwością edycji komentarzy widzą odnośnik do edycji komentarza pod każdym komentarzem. Oto mały CSS, który wykorzystuje domyślną klasę comment-edit-link
do modyfikacji wyglądu odnośnika.
a.comment-edit-link { float:left; margin:0 0 10px 10px; text-align:center; background-color: #55737D; border:1px solid #55737D; border-radius:3px; padding:3px; width:50px; box-shadow: 1px 1px 2px 2px #4f4f4f; }
.
Oto jak by to wyglądało:
Stylizacja Anuluj Komentarz Odpowiedz Odnośnik
W większości dobrych motywów WordPress kliknięcie odnośnika Odpowiedz otwiera formularz komentarza tuż pod komentarzem, na który odpowiadasz, z odnośnikiem do anulowania odpowiedzi na komentarz. Zmodyfikujmy ten odnośnik anulowania odpowiedzi na komentarz, używając domyślnego identyfikatora CSS cancel-comment-reply
.
#cancel-comment-reply-link { text-align:center; background-color: #55737D; border:1px solid #55737D; border-radius:3px; padding:3px; width:50px; color:#FFFFFF; box-shadow: 1px 1px 2px 2px #4f4f4f; text-decoration:none; }
.
Oto jak by to wyglądało:
Stylizacja formularza komentarza WordPress
Użyteczne, estetyczne i stylowe formularze komentarzy zachęcają użytkowników do pozostawienia komentarza na twoim blogu. Wcześniej napisaliśmy szczegółowy artykuł o tym, jak stylizować formularz komentarza WordPress. Zdecydowanie zalecamy zapoznanie się z nim, aby zobaczyć, jak możesz przenieść swój formularz komentarza WordPress na wyższy poziom.
Mamy nadzieję, że ten artykuł pomoże ci w stylizacji twojego układu komentarzy WordPress. Jeśli masz jakieś pytania lub sugestie, daj nam znać, zostawiając komentarz poniżej.
denny
Thank you. This post is extremely helpful.
WPBeginner Support
Glad our guide was helpful!
Administrator
murat
hi, i added the codes to comments.php with tags but it didnt change anything.how to solve it?
WPBeginner Support
The code in this article is CSS code, you would want to add it under Appearance>Customize>Additional CSS for the code to affect your site.
Administrator
Prashant
I have my site where i have the replies to comments appear right below in straight line below the actual comment.. how can we put a small offset like you have done here for the replies to comments?
WPBeginner Support
It would depend on how your theme styles comments but you can see how we’ve styled the replies on our theme using inspect element: https://www.wpbeginner.com/wp-tutorials/basics-of-inspect-element-with-your-wordpress-site/
Administrator
Will
It’s 2018!
Is this still the easiest method to style a Wordpress comment?
This article was written 5 years ago. A search around Google. It seems like the WordPress comment system is NOT beginner-friendly to customize, and hasn’t evolved much at all. Disappointing!
WPBeginner Support
Hey Will,
Yes, it still applies. You are right that the default WordPress comment system is quite basic. However, you can easily extend it using plugins like De:comments which add lots of other features to your comments and make them more engaging.
Administrator
Prashant
Yeah.. nice tip!
Henry
Great Tutorial!
But how do I get the comments to show up side by side (Like a „for” and „against”) kind of debate to a single post. Also will I need to have two different comment forms underneath them?
Mike
Hi,
How can I style the hyperlinks in the comments area? I want to change the hyperlink color in the comments box.
Thank-you.
Mike
Szymon
Great article. Thanks a lot!
Aaron
Hey WPBeginner,
Awesome post! I read through it and am still having trouble figuring out what I need to do to display the „Reply” button and Gravatars.
I’m not sure if the theme displays this information, but I do have Avatars enabled in the Reading section of the admin panel.
I thought maybe I could place a bit of code somewhere in the comments.php file, but I don’t see where I could add these changes manually. The part of the code that brings comments in looks something like this:
~~~~
Recent Comments
'comment’, 'callback’ => 'crawford_comment’)); ?>
~~~~
Am I looking in the wrong place? Answer is probably yes, but I’m not sure where to check.
Here’s a page with comments, for reference:
Any advice appreciated!
WPBeginner Support
The comments.php template is pointing to you to look for the callback function. This callback is defined in your theme’s functions.php file. This is where you will edit your comment layout.
Administrator
Imad Daou
Would you please show the same steps but for Gensis 2.0? I followed the above steps, but I still couldn’t figure out how to change the comment layout background color. I use Genesis Sample theme.
My website under development and I can’t have it live yet, but the dropbox links below will show you how the comments boxes are white and I couldn’t find out using all the tricks you mentioned above how to change the color background color.
I wanted to use #333333 as background instead of white.
Thank you so much for all your hard work.
Wakhid
Hi WPbeginner, im trying to create a custom form comments but i really don’t know how to create it,
sorry my english is bad
WPBeginner Support
Please see our guide on how to add custom fields to WordPress comment form.
Administrator
Derek
I followed this tutorial and have only one question:
How can you get the reply box to appear nested under the post you are replying to?
Arauz
Im add in this question too. I have a template but i cant show the nested comments from the admin of the site.
Help us please.
Sohil Patel
Great post.. Thanks
Nickool
Just want to see reply layout
Nickool
ok
Hang
Thanks
Charlene
Wow all of these tips have been so helpful! Thanks for a great post!
I’m now wondering how can I add text beside all Admin names in the comments, even if they’re not the post author?
I’m assuming it would be here but not sure what needs to be changed:
'( $comment->user_id === $post->post_author )’
Thanks!!
Cameron
If you leave a reply it shows as being posted even though it hasn’t been approved.
petiu
wow, nice!
Geoffrey
Careful on line 44 of default WordPress comments classes,
.commentlist li ul.children li.depth-{id} {}
is not a valid CSS selector.
{id}
must be replaced with the appropriate ID (an integer).hellobass
.commentlist .reply {}
.commentlist .reply a {}
Where are the „-” in your exemple (’Default WordPress Comments Classes’)?
because its : .comment-list
WPBeginner Support
hellobass, actually .commentlist or .comment-list is not generated by WordPress and themes usually choose them on their own. For example, Twenty Twelve uses .commentlist and Twenty Thirteen uses .comment-list you can find out which class your theme is using by look at comments.php or in Chrome developer tools (Inspect Element).
Administrator
Shuen
Good tutorial! It help me alot for styling the comment area, Thank you!!! ^_^
Avner
Thank you! that was very helpful!
How can I apply the odd and even styling to apply only inside a thread (in order to distinguish between child comments)? I would like the readers to be able to distinguish easily between comments in the same thread and allow them to follow it easily.
Thanks!
Audee
Is there any tips to style very deep levels of nested comments in WordPress?
I must have been crazy for styling 5 deep levels nested comment.
It will be nice and save up much time to have a set of CSS code which is reusable for different project. But often happened that different layout width might made this reusable styling took longer to configure.
Thank you for sharing this article, bookmarked for further study
Venera
Thank you!
Adam
This is so annoying i can not get half of this to work
the odd and even colours only apply to the nested comments
It will not let me style the Comment Author and Meta Information at all
Please help me Fix this
Editorial Staff
Impossible to tell what is going on without looking at your work.
Administrator
rolanstein
Excellent post! Thank you.
May I ask how you add the 'Notify me of followup comments via e-mail’ and 'Subscribe to…’ boxes below your comment form?
Cheers
rolanstein
Editorial Staff
This article should help: https://www.wpbeginner.com/blueprint/comments/
Administrator
Jannik
Awesome Tutorial!
How did you get rid of the – ordered list? It always has numbers infront of my comments and I really don’t like it.
Thanks!
Editorial Staff
You have to add list-style: none; in the CSS class .comment-list li. Example CSS would be:
1-click Use in WordPress
Administrator
Alfrex
Thank you. This post is extremely helpful.