POST_CLASS() │ WP 2.7.0
Функция post_class() отображает классы для блока с постом.
Использование: get_post_class()
Производительность:
- 1 раз — 0.004188 сек (очень медленно)
 - 50000 раз — 10.89 сек (медленно)
 - PHP 7.0.2, WP 4.4.1
 
Хуки: отсутствуют.
Возвращаемое значение
Функция ничего не возвращает (null).
Применение
post_class( $css_class, $post );
- $css_class (string|string[]): Один или несколько классов, которые нужно добавить к списку классов. По умолчанию: 
''. - $post (int|WP_Post): ID поста или объект поста. По умолчанию: глобальный 
$post. 
Примеры использования
1. Простой пример
Применим функцию к HTML-контейнеру, содержащему данные поста:
>
В результате мы получим что-то вроде этого (предположим, пост находится в категории «танцы»):
Для этого примера в CSS нужно использовать следующие селекторы:
.post {
    /* стили для всех постов */
}
.post-4564 {
    /* стили только для поста с ID 4564 */
}
.category-dancing {
    /* стили для всех постов из категории танцы */
}
2. Добавление новых классов
Функция занимает атрибут "class", поэтому, если мы хотим добавить свой класс к тегу, нам нужно указать его как параметр функции:
>
В итоге мы получим:
3. Добавление классов через фильтр
Чтобы добавить названия всех категорий, к которым принадлежит пост, в качестве классов, можно использовать следующий код:
add_filter( 'post_class', 'category_id_class' );
add_filter( 'body_class', 'category_id_class' );
// Добавить имена категорий как классы к функциям body class и post class
function category_id_class( $classes ){
    global $post;
    foreach( get_the_category( $post->ID ) as $category ){
        $classes[] = $category->category_nicename;
    }
    return $classes;
}
4. Использование не по умолчанию
Если мы хотим получить классы конкретного поста, а не текущего, мы можем передать второй параметр, содержащий ID нужного поста:
 >
5. Использование массива для добавления нескольких классов
 >
6. Добавление нескольких классов в виде строки
Простой способ добавить несколько классов к списку классов по умолчанию — записать их через пробел:
 >
Изменения
С версии 2.7.0 функция была введена. 
Исходный код функции
Функция post_class() находится в файле wp-includes/post-template.php, и её код выглядит следующим образом:
function post_class( $css_class = '', $post = null ) {
// Разделяет классы одним пробелом, объединяет классы для блока поста.
echo 'class="' . esc_attr( implode( ' ', get_post_class( $css_class, $post ) ) ) . '"';
}
Связанные функции
body_class() 
comment_class() 
add_theme_support() 
bloginfo() 
- И многие другие функции для работы с темами и постами в WordPress.
 
Эта информация поможет вам использовать функцию post_class() эффективно и правильно на вашем сайте WordPress.