Как добавить класс тела, относящийся к категории продуктов?Добавить класс body, относящийся к категории продуктов в WooCommerce
Спасибо!
Как добавить класс тела, относящийся к категории продуктов?Добавить класс body, относящийся к категории продуктов в WooCommerce
Спасибо!
Добавьте к этому вашим функциям .php
add_filter('body_class', 'wc_cat_names');
function wc_cat_names($classes) {
if(is_product()){
global $post;
$terms = get_the_terms($post->ID, 'product_cat');
foreach ($terms as $term) {
$classes[] = $term->slug;
}
}
return $classes;
}
Это одна будет работать только на странице WooCommerce продукта и Да я проверил это на моем тестовом сайте.
Существует довольно хорошее руководство для делать именно это на сайте Wordpress поддержки: Modify body_class() output to show category-{slug} for single posts
Я изменил код от должности в соответствии с вашими потребностями:
add_filter('body_class','add_category_to_single');
function add_category_to_single($classes, $class) {
if (is_single()) {
global $post;
foreach((get_the_category($post->ID)) as $category) {
echo $category->cat_name . ' ';
// add category slug to the $classes array
$classes[] = $category->slug;
}
}
// return the $classes array
return $classes;
}
Честно говоря, нет, не во время ответа. Я использовал модифицированную версию этого в более раннем проекте, поэтому я вспомнил сообщение. – emilchristensen
Но в соответствии с [Wordpress Codex: body_class] (https://codex.wordpress.org/Function_Reference/body_class) он все равно должен быть допустимым. – emilchristensen
это дает мне ошибку php и добавляет body_class к другому div. Ошибка: 'Предупреждение: Отсутствует аргумент 2 для add_category_to_single (' –
Привет, прочитайте эту статью перед публикацией: http://stackoverflow.com/help/how-to-ask и прочитайте все статьи stackoverflow, чтобы задать хороший вопрос: http://stackoverflow.com/help –