2016-05-16 3 views
-1

Как добавить класс тела, относящийся к категории продуктов?Добавить класс body, относящийся к категории продуктов в WooCommerce

Спасибо!

+1

Привет, прочитайте эту статью перед публикацией: http://stackoverflow.com/help/how-to-ask и прочитайте все статьи stackoverflow, чтобы задать хороший вопрос: http://stackoverflow.com/help –

ответ

2

Добавьте к этому вашим функциям .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 продукта и Да я проверил это на моем тестовом сайте.

1

Существует довольно хорошее руководство для делать именно это на сайте 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; 
} 
+0

Честно говоря, нет, не во время ответа. Я использовал модифицированную версию этого в более раннем проекте, поэтому я вспомнил сообщение. – emilchristensen

+0

Но в соответствии с [Wordpress Codex: body_class] (https://codex.wordpress.org/Function_Reference/body_class) он все равно должен быть допустимым. – emilchristensen

+0

это дает мне ошибку php и добавляет body_class к другому div. Ошибка: 'Предупреждение: Отсутствует аргумент 2 для add_category_to_single (' –

Смежные вопросы