Використання стилів в залежності від контексту в WordPress Wordpress блог Wordpress блог

У WordPress 2.8 є одне невелике, але дуже корисне нововведення як для розробників сайтів на WordPress, так і для блогерів. Це можливість змінювати зовнішній вигляд будь-якої окремої сторінки або групи сторінок сайту, без необхідності писати якісь функції та умови на php або встановлювати плагіни. Просто додавши потрібний стиль у ваш css файл.

Як це працює

У WordPress 2.8 було додано функцію body_class(). Діє вона таким чином, додаємо її до нашого тегу, ось так >

Якщо ваша тема адаптована під WordPress 2.8, напевно, ця функція вже присутня в коді.

Якщо її немає, достатньо знайти в header.php вашу тему і замінити його на >

Як користуватися

Що ми отримуємо від використання цієї функції? Дуже просто, отримуємо тег із додатковими класами, наприклад:

Що нам це дає? А ось що:

Додавши до css файл вашого блогу:

Зробимо тло тільки головної сторінки сайту червоним.

Збільшимо розмір заголовка тільки на сторінках (не записах блогу) сайту.

Це просто приклади, використовуючи цю функцію можна зробити практично будь-які зміни CSS для окремої сторінки або групи сторінок.

Документація

  • rtl
  • home
  • blog
  • archive
  • date
  • search
  • paged
  • attachment
  • error404
  • single postid-(id)
  • attachmentid-(id)
  • attachment-(mime-type)
  • author
  • author-(ім'я)
  • category
  • category-(ім'я)
  • tag
  • tag-(ім'я)
  • page
  • page-parent
  • page-child parent-pageid-(id)
  • page-template page-template-(ім'я файлушаблону)
  • search-results
  • search-no-results
  • logged-in
  • paged-(номер сторінки)
  • single-paged-(номер сторінки)
  • page-paged-(номер сторінки)
  • category-paged-(номер сторінки)
  • tag-paged-(номер сторінки)
  • date-paged-(номер сторінки)
  • author-paged-(номер сторінки)
  • search-paged-(номер сторінки)
    Для монстрів WordPress і тих, кому цього списку мало, існує можливість додавати свої класи до body_class, стандартним для WordPress способом:

Офіційна документація по body_class() на даний момент відсутня, але як це зазвичай буває в WordPress, функція зроблена дуже просто і грамотно, розібратися в ній не важко. Дещо більше подробиць можна знайти в коді функції body_class().

">