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 на темата:

Примерът е взет от кода. Според мен не много добро решение. Но ако някой наистина има нужда от него, тогава може би може да бъде полезен.