it-swarm.xyz

Пользовательские стили для страниц категорий

Можно ли по-разному отображать стили на странице для определенных категорий при просмотре страницы только этой категории?

1
GSto

У @EAMann отличный ответ, если вы хотите использовать разные макеты для разных категорий. OTOH , если вы хотите изменить только CSS, чтобы, например, иметь разные цвета фона для каждой категории , тогда вы обнаружите, что большинство тем будут включать слаг категории как CSS класс для элемента <body> и/или, возможно, других элементов HTML, которые выводятся темой. (И даже если ваша тема не так, вы всегда можете добавить эту функцию самостоятельно.)

Например, тема TwentyTen делает именно это; для следующего URL:

http://example.com/category/category-1/

Вот как выглядит элемент <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 своей темы; вы, вероятно, захотите создать дочернюю тему . Вот несколько ответов, где я говорю о детских темах:

Обратите внимание, что не все темы поддерживают дочерние темы, тезис является одним из ярких примеров. В случае с этими темами вам придется больше изучать, как они расширяются.

4
MikeSchinkel

Если вы хотите, вы можете иметь различные шаблоны для каждой категории с собственным набором определений стилей. Затем вы можете по-разному оформить страницу для определенных категорий, но только при просмотре страницы только этой категории.

Просто используйте их в своей теме:

  1. категория-slug.php
  2. категория-ID.php
1
EAMann

Что сказал Эрик. Но если вы хотите изменить только стиль, а не разметку, есть более простой способ. Пока ваша тема включает вызов body_class () в открывающий тег body, WP будет добавлять на вашу страницу все виды полезных хуков CSS. Разметка по умолчанию добавит следующие классы к элементу body архива категорий:

  • архив
  • категория
  • категория-тихоход

который вы можете стилизовать, как вам нравится. Многие фреймворки тем добавят еще больше полезных хуков к вашему классу тела, хотя для некоторых из них я не вижу реальных вариантов использования.

0
goldenapples