comment_class
Позволяет изменить список CSS-классов, применяемых к каждому тегу комментария <li>
в шаблоне.
Применяется при генерации HTML-обёртки для комментария в шаблоне. Это позволяет добавить, изменить или удалить классы, которые будут присвоены элементу комментария.
Может использоваться в файле темы (например, comments.php
), где вызывается функция comment_class().
Использование
add_filter( 'comment_class', 'wp_kama_comment_class_filter', 10, 5 ); /** * Function for `comment_class` filter-hook. * * @param string[] $classes An array of comment classes. * @param string[] $css_class An array of additional classes added to the list. * @param string $comment_id The comment ID as a numeric string. * @param WP_Comment $comment The comment object. * @param int|WP_Post $post The post ID or WP_Post object. * * @return string[] */ function wp_kama_comment_class_filter( $classes, $css_class, $comment_id, $comment, $post ){ // filter... return $classes; }
- $classes(массив)
- Массив CSS-классов, применяемых к тегу комментария.
- $css_class(массив)
- Массив дополнительных CSS-классов применяемых к тегу комментария - первый параметр функции get_comment_class().
- $comment_id(string)
- ID комментария. Число в виде строки.
- $comment(WP_Comment)
- Объект текущего комментария.
- $post(int|WP_Post)
- Объект поста к которому относится комментарий.
Примеры
#1 Добавление пользовательского класса к комментариям
Добавим CSS-класс my-comment
ко всем комментариям.
add_filter( 'comment_class', function( $classes ) { $classes[] = 'my-comment'; return $classes; } );
#2 Добавление класса для комментариев автора записи
Добавим класс by-post-author
, если автор комментария также является автором записи.
add_filter( 'comment_class', function( $classes, $_, $__, $comment, $post ) { if ( $comment->user_id === $post->post_author ) { $classes[] = 'by-post-author'; } return $classes; }, 10, 5 );
Список изменений
С версии 2.7.0 | Введена. |
Где вызывается хук
comment_class
wp-includes/comment-template.php 599
return apply_filters( 'comment_class', $classes, $css_class, $comment->comment_ID, $comment, $post );