2016-01-07 2 views
-1

Я не совсем, кажется, чтобы получить парить, чтобы изменить цвет на основе категории пост является помеченным в.Стиль на основе категории

Я добавил как body_class() и post_class() к заголовку. PHP, а также добавить функцию, которая добавляет категорию текущей записи обратно к классу тела -

add_filter('body_class','add_category_to_single'); 
function add_category_to_single($classes) { 
    if (is_single()) { 
     global $post; 
     foreach((get_the_category($post->ID)) as $category) { 
       $classes[] = 'category-'.$category->slug; 
     } 
    } 
return $classes; 
    } 

Я могу изменить парить на всех постах, используя этот стиль -

.portfolio .portfolio-item:hover > .hover-item{ 
    background-color:#000000; 
} 

но когда я dd класс категории ничего не происходит. Например, -

catergory-classes .portfolio-item:hover > .hover-item{ 
    background-color:#000000; 
} 

Где я иду не так?

Вот мой site. Любая помощь с благодарностью оценили

+0

Вы пытаетесь сделать это изменение на главной странице? – rnevius

+0

@rnevius Я, да. Только на домашней странице –

+0

Почему это получило нижний предел? Я показал все свои разработки и понял, что я прошу –

ответ

0

я думаю, что вы для получения поставить точку на первой из CSS кода ваш КСС

catergory-classes .portfolio-item:hover > .hover-item{ 
    background-color:#000000; 
} 

но правильным является

.catergory-classes .portfolio-item:hover > .hover-item{ 
    background-color:#000000; 
} 
+0

Я думаю, что OP использовал 'category-classes' в качестве заполнителя в вопросе ... – rnevius

0

Я думаю, вы пропустили точку (.)

.catergory-classes .portfolio-item:hover > .hover-item{ 
background-color:#000000;} 

И если .catergory-classes и .portfolio-item потребности, которые должны применяться на том же теге, то оно должно быть (без пробелов ч/б 2 классы)

.catergory-classes.portfolio-item:hover > .hover-item{ 
background-color:#000000;} 
+0

Я пробовал все это; с точкой, без точки, hashtag ... ничего из этого не работает –

+0

Попробуйте! Важное свойство css ... может работать .. .catergory-classes.portfolio-item: hover> .hover-item { background -цвет: # 000000! important; } –

+0

Я тоже это пробовал. Пробовал все варианты:/ –

0

Вы не должны быть настройки класса тела, так как это будет категория самой передней страницы (и не будет изменяться для каждого элемента). Вместо этого рассмотрите возможность добавления классов в элементы портфеля (в пределах цикла). Например:

<?php 
    if (have_posts()) : while (have_posts()) : the_post(); 
     $categories = get_the_category(); 
     $category = ! empty($categories) ? 'category-' . $categories[0]->name : ''; 
?> 
    <li class="portfolio-content"> 
     <div class="portfolio-item <?php echo $category; ?>"> 
      <!-- Additional Content --> 
     </div> 
    </li> 

Вы можете предназначаться для этих категорий с:

.portfolio-item.category-somecategory:hover > .hover-item { } 
+0

Я пробовал делать что-то похожее вдоль этих линий, и он полностью удалял зависание с домашней страницы. Просто попробовал использовать ваш, и он сделал то же самое. головоломный –

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