Описание post_class
— Filter
Хук post_class позволяет изменить или добавить CSS классы к HTML элементам постов в WordPress. Он срабатывает во время генерации классов для постов в цикле WordPress, что позволяет разработчикам кастомизировать отображение постов на сайте
Примеры использования
Пример добавления кастомного класса к посту в зависимости от его типа:
add_filter('post_class', function($classes, $class, $post_id) {
if (get_post_type($post_id) === 'custom_post_type') {
$classes[] = 'my-custom-class';
}
return $classes;
});
Этот код добавляет класс ‘my-custom-class’ к постам типа ‘custom_post_type’
Пример удаления стандартного класса ‘sticky’ у поста:
add_filter('post_class', function($classes) {
if (in_array('sticky', $classes)) {
$classes = array_diff($classes, ['sticky']);
}
return $classes;
});
Здесь мы удаляем класс ‘sticky’ из массива классов поста
Пример добавления класса на основе мета-данных поста:
add_filter('post_class', function($classes, $class, $post_id) {
if (get_post_meta($post_id, 'featured', true)) {
$classes[] = 'featured-post';
}
return $classes;
});
Этот код добавляет класс ‘featured-post’, если у поста есть мета-данные ‘featured’
— Лучшие практики
– Использование
Используйте этот хук, когда вам нужно изменить классы постов для стилизации или функциональности на сайте
– Производительность
Хук не должен существенно влиять на производительность, так как изменения касаются только классов CSS
– Предупреждения
Убедитесь, что добавление классов не конфликтует с существующими стилями или скриптами на сайте
Альтернативы
Тип: filter
Этот хук позволяет изменять классы в HTML-теге , что может быть полезно для глобальных стилей
Используйте его, когда необходимо добавить классы для всей страницы на основе контекста