Body_class() – Показва css класове, свързани с текущата страница
Показва css класове, свързани с текущата страница. Предназначен за използване в етикета.
В темите на WordPress можете да използвате шаблонния етикет body_class(), който може да бъде полезен за разработчиците на теми за по-ефективно използване на CSS селекторите. Функцията body_class() добавя различни класове към body тага в зависимост от това на коя страница се намира посетителят, дали е влязъл или не и т.н. (напр. class="home logged-in").
За да добавите допълнителни класове, използвайте параметъра $class или филтъра body_class (вижте примерите):
се завръща
Показва списък с класове css.
Използване
Списък на класовете, изведени от body_class
Функцията може да изведе следния списък от класове (аргументът клас може да съдържа една или повече стойности от този списък):
- rtl
- У дома
- блог
- архив
- дата
- Търсене
- страничен
- прикачен файл
- грешка404
- единичен postid-(id)
- page-id-(page_id)
- прикачен файл-(id)
- прикачен файл-(тип mime)
- автор
- автор-(user_nicename)
- категория
- категория-(охлюв)
- етикет
- етикет-(охлюв)
- страница родител
- page-child родител-pageid-(id)
- шаблон на страница шаблон на страница-(име на файл на шаблон)
- Резултати от търсенето
- търсене-няма-резултати
- Вписан
- paged-(номер на страница)
- едностраничен-(номер на страница)
- page-paged-(номер на страница)
- category-paged-(номер на страница)
- tag-paged-(номер на страница)
- date-paged-(номер на страница)
- автор-страница-(номер на страница)
- search-paged-(номер на страница)
- данък-(име на таксономията) (от 3.1)
- термин-(име на термин) (от 3.1)
- администраторска лента (от 3.1)
Къде, какви класове се показват
Условните тагове се използват за показване на класове. По-долу е показана зависимостта на класа, добавен към списъка, от задействането на условния таг:
- Намерени: резултати от търсене.
- Ако не е намерено: търсене без резултати.
is_single() - единичен postid-(идентификатор на публикация)
- Ако пост: един пост
- Ако персонализиран тип публикация: единичен-(тип публикация)
- Ако форматите за публикация се поддържат: единичен формат или стандартен единичен формат
- Ако прикачен файл (прикачени файлове): прикачен файл един прикачен файл attachmentid- тип-mime-прикачен файл
- Родителска страница: страница-родител
- Дъщерна страница: page-child parent-pageid-
- Шаблон на страница:
- Посочен шаблон: страница-шаблон страница-шаблон--php
- Шаблонът не е посочен: страница-шаблон-по подразбиране
- По дата: дата
- Тип публикация: пост-тип-архив пост-тип-архив-
- Автор: автор автор-
- Заглавия: категория категория-
- Етикети: етикет етикет-
- Таксономия: данъчен-термин-термин-
- Архив на формат на публикация: tax-post_format term-post-format-term-
Ако има персонализиран фон
- custom-background Извършва се следната проверка:
Пример, показващ как се прилага функцията:
В резултат на това в HTML кода получаваме следното:
И в css ще бъде описано така:
#2. Нека добавим наш собствен персонализиран клас:
#3. Добавяне на класове чрез филтъра body_class
Класовете могат да се добавят с помощта на условия.
Нека добавим клас само за постоянни страници - is_page() . За да направим това, ще използваме филтъра body_class. Кодможе да се вмъкне във файла function.php на темата:
Това е само демонстрация: вече има уникален клас за постоянни страници.
Примерът не е много успешен, защото е карго, за такава дреболия като добавяне на клас. Този пример е по-подходящ за демонстриране на възможностите.
#3.2. Добавете името на родителската страница към класовете на тялото
Този пример добавя етикета на родителската страница към класовете на тялото, когато сме на дъщерната страница:
#4. Добавете клас само когато страничната лента е показана
Пример 3 показа как да добавите допълнителни CSS класове чрез филтъра body_class. Примерът по-долу демонстрира как да добавите нов клас само когато страничната лента е показана. Този код трябва да бъде вмъкнат във файла functions.php на темата:
Примерът е взет от кода. Според мен не много добро решение. Но ако някой наистина има нужда от него, тогава може би може да бъде полезен.