Описание post_class_taxonomies
— Filter
Хук post_class_taxonomies позволяет изменить классы, присваиваемые постам, на основе их таксономий. Он срабатывает при генерации HTML-классов для элементов постов и позволяет добавлять или изменять классы на основе связанных таксономий
Примеры использования
Пример добавления классов таксономий к постам:
add_filter('post_class_taxonomies', function($classes, $post_id) {
$terms = get_the_terms($post_id, 'category');
if ($terms && !is_wp_error($terms)) {
foreach ($terms as $term) {
$classes[] = 'category-' . $term->slug;
}
}
return $classes;
});
В этом примере мы добавляем классы для каждой категории, к которой принадлежит пост, используя слуг термина
Пример добавления пользовательского класса на основе метаданных поста:
add_filter('post_class_taxonomies', function($classes, $post_id) {
$custom_field = get_post_meta($post_id, 'custom_meta_key', true);
if ($custom_field) {
$classes[] = 'custom-class-' . sanitize_title($custom_field);
}
return $classes;
});
Здесь мы добавляем класс на основе пользовательского поля, если оно установлено для поста
— Лучшие практики
– Использование
Используйте этот хук, когда нужно динамически добавлять классы к постам на основе их таксономий или метаданных
– Производительность
Хук не должен значительно влиять на производительность, так как изменения касаются только вывода HTML
– Предупреждения
Обратите внимание на возможные конфликты классов, если вы используете одинаковые названия для разных постов
Альтернативы
Тип: filter
Этот хук позволяет добавлять классы к постам, но не ограничивается только таксономиями
Используйте его, если необходимо добавить классы на основе более широких условий, не связанных только с таксономиями