При работе с WooCommerce в WordPress настройку внешнего вида и функциональности вашего интернет-магазина можно выполнить путем создания дочерней темы. Одной из распространенных настроек является добавление определенного класса тела, чтобы отличать страницы WooCommerce от других. В этой статье мы рассмотрим различные методы добавления класса тела WooCommerce в дочернюю тему, попутно предоставляя примеры кода.
Метод 1: использование пользовательской функции в файле function.php
Первый метод предполагает добавление пользовательской функции в файл functions.phpдочерней темы. Эта функция подключается к фильтру body_classи проверяет, принадлежит ли текущая страница WooCommerce. Если да, то добавляется определенный класс тела.
// In your child theme's functions.php file
function add_woocommerce_body_class($classes) {
if (function_exists('is_woocommerce') && is_woocommerce()) {
$classes[] = 'woocommerce-page';
}
return $classes;
}
add_filter('body_class', 'add_woocommerce_body_class');
Метод 2: использование хука фильтра woocommerce_body_class
WooCommerce предоставляет хук фильтра woocommerce_body_classспециально для добавления классов тела на страницы WooCommerce. Вы можете использовать этот хук, чтобы добавить свой собственный класс тела в файл functions.phpдочерней темы.
// In your child theme's functions.php file
function add_custom_body_class($classes) {
$classes[] = 'your-custom-class';
return $classes;
}
add_filter('woocommerce_body_class', 'add_custom_body_class');
Метод 3. Изменение шаблона страницы
Другой подход — напрямую изменить шаблоны страниц WooCommerce. Найдите файл шаблона, отвечающий за отображение конкретной страницы, на которую вы хотите настроить таргетинг (например, archive-product.phpдля страницы архива продукта) в вашей дочерней теме. Добавьте нужный класс тела в разметку HTML.
<body <?php body_class('your-custom-class'); ?>>
Метод 4: использование условных операторов
Условные операторы позволяют ориентироваться на определенные страницы WooCommerce и соответствующим образом добавлять собственные классы тела. Этот метод требует добавления кода в файл functions.phpдочерней темы.
// In your child theme's functions.php file
function add_custom_body_class($classes) {
if (is_shop()) {
$classes[] = 'woocommerce-shop';
} elseif (is_product_category()) {
$classes[] = 'woocommerce-category';
}
// Add more conditional statements for other WooCommerce pages
return $classes;
}
add_filter('body_class', 'add_custom_body_class');
Настройка класса body в дочерней теме WooCommerce позволяет применять определенные стили и функции к страницам WooCommerce. В этой статье мы рассмотрели несколько методов, в том числе использование пользовательских функций, перехватчиков фильтров, изменение шаблонов страниц и использование условных операторов. Выберите метод, который лучше всего соответствует вашим потребностям и расширяет возможности настройки вашего магазина WooCommerce.