Можно ли по-разному отображать стили на странице для определенных категорий при просмотре страницы только этой категории?
У @EAMann отличный ответ, если вы хотите использовать разные макеты для разных категорий. OTOH , если вы хотите изменить только CSS, чтобы, например, иметь разные цвета фона для каждой категории , тогда вы обнаружите, что большинство тем будут включать слаг категории как CSS класс для элемента <body>
и/или, возможно, других элементов HTML, которые выводятся темой. (И даже если ваша тема не так, вы всегда можете добавить эту функцию самостоятельно.)
Например, тема TwentyTen делает именно это; для следующего URL:
Вот как выглядит элемент <body>
:
<body class="archive category category-category-1">
Зная вышесказанное, вы можете добавить следующие стили к файлу style.css
своей темы, чтобы иметь разные цветовые фоны для каждой страницы (здесь я, конечно, очень упрощен; ваш фактический CSS наверняка будет более сложным):
/* style.css */
body.category-category-1 {
background-color: red;
}
body.category-category-2 {
background-color: green;
}
body.category-category-3 {
background-color: blue;
}
Все, что вам действительно нужно сделать, это выяснить, если ваша тема делает это или нет, это просмотреть источник на страницах интересующей категории и найти слаг вашей категории.
Конечно, вы, вероятно, не хотите изменять style.css
своей темы; вы, вероятно, захотите создать дочернюю тему . Вот несколько ответов, где я говорю о детских темах:
Обратите внимание, что не все темы поддерживают дочерние темы, тезис является одним из ярких примеров. В случае с этими темами вам придется больше изучать, как они расширяются.
Если вы хотите, вы можете иметь различные шаблоны для каждой категории с собственным набором определений стилей. Затем вы можете по-разному оформить страницу для определенных категорий, но только при просмотре страницы только этой категории.
Просто используйте их в своей теме:
Что сказал Эрик. Но если вы хотите изменить только стиль, а не разметку, есть более простой способ. Пока ваша тема включает вызов body_class () в открывающий тег body, WP будет добавлять на вашу страницу все виды полезных хуков CSS. Разметка по умолчанию добавит следующие классы к элементу body архива категорий:
который вы можете стилизовать, как вам нравится. Многие фреймворки тем добавят еще больше полезных хуков к вашему классу тела, хотя для некоторых из них я не вижу реальных вариантов использования.