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 );