
📋 CSS-класи WordPress за замовчуванням — повна шпаргалка 2026
Відкриваєте інспектор коду на своєму сайті й бачите десятки класів на <body>, .home .logged-in .single-postid-432. Ви їх не прописували, плагіни тут ні до чого. Звідки вони?
Їх додав сам WordPress. CMS автоматично вішає класи на <body>, обгортає записи в post_class(), розмічає меню, віджети й коментарі, все з коробки, без жодного рядка вашого коду. Проблема в тому, що новачки або не знають про ці класи, або не розуміють, як їх застосувати. Результат: кілометри зайвого CSS там, де вистачило б одного стандартного селектора.
Ця шпаргалка, повний список CSS-класів, які WordPress генерує за замовчуванням. Ви дізнаєтеся, як чіплятися до потрібних сторінок через body-класи, стилізувати записи за форматом, оформлювати меню та віджети без правок HTML. Лише те, що справді знадобиться під час верстання теми або доопрацювання готової.

💡 Швидкий огляд:
- Відкрийте інспектор коду на будь-якій сторінці сайту, знайдіть на
<body>класи.home.single.logged-inі переконайтеся: вони вже є в розмітці без вашої участі. - Додайте в
style.cssправило.search-results .sidebar { display: none; }, сайдбар зникне лише на сторінці пошуку, решта сторінок не зачеплені. - Виведіть
post_class()у циклі записів і оформіть.format-videoширокою карткою, а.format-imageквадратною: одна функція, різні формати, різне верстання. - Згрупуйте селектори віджетів через кому:
.widget_categories ul, .widget_archive ul, .widget_pages ul { list-style: none; }, чотири віджети отримають однакову стилізацію одним рядком.
Як WordPress генерує CSS-класи: body_class() і post_class()
WordPress додає класи через дві ключові функції: body_class() та post_class(). Вони вбудовані в ядро й викликаються темою в момент рендерингу сторінки. Вам не потрібно нічого підключати: якщо тема дотримується стандартів WordPress, ці функції вже працюють.
body_class() виводить список класів в атрибут class тега <body>. Набір класів залежить від того, яку сторінку переглядає відвідувач: головна, рубрика, пошук, запис, архів. Саме ці класи дають змогу точково змінювати фон, шрифт або приховувати блоки на конкретних сторінках без створення окремих шаблонів.
post_class() робить те саме для кожного запису в циклі. Вона повертає класи на кшталт .format-image або .sticky, за ними відрізняють приліплений запис від галереї та змінюють верстку.
Обидві функції приймають користувацький параметр: можна докинути свій клас. Наприклад:
1 <body <?php body_class( 'my-custom-class' ); ?>>
Це додасть .my-custom-class до всіх сторінок. Корисно, коли підключаєте спільний CSS-файл і хочете мати унікальний хук для свого оформлення.
Класи тега body: повний список
Це найбагатший набір класів у WordPress. Під капотом body_class() аналізує поточну URL-адресу, тип сторінки, статус користувача й виводить десятки селекторів. Нижче, повний перелік того, що ви можете зустріти в розмітці.
1 .rtl {} 2 .home {} 3 .blog {} 4 .archive {} 5 .date {} 6 .search {} 7 .paged {} 8 .attachment {} 9 .error404 {} 10 .single postid-(id) {} 11 .attachmentid-(id) {} 12 .attachment-(mime-type) {} 13 .author {} 14 .author-(user_nicename) {} 15 .category {} 16 .category-(slug) {} 17 .tag {} 18 .tag-(slug) {} 19 .page-parent {} 20 .page-child parent-pageid-(id) {} 21 .page-template page-template-(template file name) {} 22 .search-results {} 23 .search-no-results {} 24 .logged-in {} 25 .paged-(page number) {} 26 .single-paged-(page number) {} 27 .page-paged-(page number) {} 28 .category-paged-(page number) {} 29 .tag-paged-(page number) {} 30 .date-paged-(page number) {} 31 .author-paged-(page number) {} 32 .search-paged-(page number) {}
На практиці найчастіший сценарій, стилізація сторінки пошуку. Припустімо, ви хочете приховати сайдбар на видачі. Замість правок search.php додайте в style.css:
1 .search-results .sidebar { display: none; }
Клас .search-results висить на <body> лише коли активна сторінка пошуку. На решті сторінок сайдбар залишиться на місці. Той самий принцип працює для .error404 .archive .logged-in і будь-якого іншого класу з таблиці.
Зверніть увагу на динамічні класи із суфіксами: .category-(slug) .tag-(slug) .author-(user_nicename). Вони дають змогу оформити сторінку конкретної рубрики або автора. Наприклад, .category-news .entry-title { color: red; } пофарбує заголовки лише в рубриці «News».
Класи записів: post_class() і формати контенту
Функція post_class() додає класи до елемента <article>, або того тега, який ваша тема використовує для обгортання запису. Класи виводяться в атрибут class і залежать від типу контенту.
1 .post-id {} 2 .post {} 3 .page {} 4 .attachment {} 5 .sticky {} 6 .hentry {} 7 .category-misc {} 8 .category-example {} 9 .tag-news {} 10 .tag-wordpress {} 11 .tag-markup {}
Окрема група, класи форматів записів. WordPress з коробки підтримує формати: image, gallery, chat, link, quote, status, video. post_class() автоматично додає .format-{тип} до кожного запису.
1 .format-image {} 2 .format-gallery {} 3 .format-chat {} 4 .format-link {} 5 .format-quote {} 6 .format-status {} 7 .format-video {}
На практиці це виглядає так: виводите на головній сітку з трьох колонок, а для відеоформату хочете одну широку. Рішення, один рядок CSS:
1 .format-video { grid-column: span 3; }
Клас .sticky позначає приліплені записи, а .hentry слугує мікроформатним маркером (використовується пошуковиками та парсерами). Головне: не видаляйте post_class() із шаблону. Без неї тема втрачає сумісність із плагінами, які покладаються на стандартну розмітку записів.
Класи меню навігації: від контейнера до випадних пунктів
Коли ви створюєте меню в адмінці WordPress, воно обгортається в контейнер із класом, який ви задали під час реєстрації меню. У прикладі нижче це main-menu. Всередині, стандартна вкладеність <ul> → <li> → <a>, і кожен рівень отримує свої класи.
1 #header .main-menu {} /* контейнер меню */ 2 #header .main-menu ul {} /* первый уровень списка */ 3 #header .main-menu ul ul {} /* вложенный список (выпадающее меню) */ 4 #header .main-menu li {} /* пункт меню */ 5 #header .main-menu li a {} /* ссылка пункта */ 6 #header .main-menu li ul {} /* список выпадающих пунктов */ 7 #header .main-menu li li {} /* выпадающий пункт */ 8 #header .main-menu li li a {} /* ссылка выпадающего пункта */ 9 10 .current_page_item {} /* текущая страница */ 11 .current-cat {} /* текущая рубрика */ 12 .current-menu-item {} /* любой текущий пункт */ 13 .menu-item-type-taxonomy {} /* тип: рубрика */ 14 .menu-item-type-post_type {} /* тип: страница */ 15 .menu-item-type-custom {} /* тип: произвольная ссылка */ 16 .menu-item-home {} /* ссылка на главную */
Класи .current_page_item .current-cat і .current-menu-item, найкорисніше. Вони автоматично підсвічують активний пункт меню. Вам не потрібно писати PHP-умови: достатньо задати стиль для .current-menu-item a, і активне посилання виділиться кольором або підкресленням на будь-якій сторінці сайту.
Класи редактора: зображення, галереї та підписи
Редактор WordPress, і класичний TinyMCE, і блочний Gutenberg, під час вставлення медіафайлів додає стандартні класи до <img>, галерей і підписів. Знаючи їх, ви керуєте вирівнюванням зображень та оформленням галерей через CSS теми.
1 .entry-content img {} 2 .alignleft, img.alignleft {} 3 .alignright, img.alignright {} 4 .aligncenter, img.aligncenter {} 5 .alignnone, img.alignnone {} 6 7 .wp-caption {} 8 .wp-caption img {} 9 .wp-caption p.wp-caption-text {} 10 11 .wp-smiley {} 12 13 blockquote.left {} 14 blockquote.right {} 15 16 .gallery dl {} 17 .gallery dt {} 18 .gallery dd {} 19 .gallery dl a {} 20 .gallery dl img {} 21 .gallery-caption {} 22 23 .size-full {} 24 .size-large {} 25 .size-medium {} 26 .size-thumbnail {}
Класи .alignleft .alignright .aligncenter керують обтіканням. WordPress вішає їх на <img> автоматично, коли користувач обирає вирівнювання в редакторі. Класи .size-full .size-large .size-medium .size-thumbnail відповідають зареєстрованим у темі розмірам мініатюр, за ними можна задати max-width або радіус заокруглення для зображень конкретного розміру.
.wp-caption і .wp-caption-text, контейнер і підпис до зображення. У більшості тем підпис оформлено бідно: сірий курсив під зображенням. Знаючи клас, ви перетворюєте його на акуратну плашку поверх фото однією правкою CSS, без плагінів.
Класи віджетів: пошук, рубрики, календар, хмара тегів
WordPress постачає набір стандартних віджетів: «Пошук», «Рубрики», «Свіжі записи», «Хмара міток», «Календар», «Мета», «Архіви», «Сторінки», «Текст». У кожного, своя CSS-обгортка з передбачуваними класами. Якщо ви не видаляли стандартні віджети через unregister_widget(), вони присутні в сайдбарі.
1 .widget {} 2 3 .widget_search {} 4 #searchform {} 5 .screen-reader-text {} 6 7 .widget_meta {} 8 .widget_meta ul {} 9 .widget_meta ul li {} 10 .widget_meta ul li a {} 11 12 .widget_links {} 13 .widget_links ul {} 14 .widget_links ul li {} 15 .widget_links ul li a {} 16 17 .widget_archive {} 18 .widget_archive ul {} 19 .widget_archive ul li {} 20 .widget_archive ul li a {} 21 .widget_archive select {} 22 .widget_archive option {} 23 24 .widget_pages {} 25 .widget_pages ul {} 26 .widget_pages ul li {} 27 .widget_pages ul li a {} 28 29 .widget_tag_cloud {} 30 .widget_tag_cloud a {} 31 .widget_tag_cloud a:after {} 32 .widget_tag_cloud a:before {} 33 34 .widget_calendar {} 35 #calendar_wrap {} 36 #calendar_wrap th {} 37 #calendar_wrap td {} 38 #wp-calendar tr td {} 39 #wp-calendar caption {} 40 #wp-calendar a {} 41 #wp-calendar #today {} 42 #wp-calendar #prev {} 43 #wp-calendar #next {} 44 #wp-calendar #next a {} 45 #wp-calendar #prev a {} 46 47 .widget_categories {} 48 .widget_categories ul {} 49 .widget_categories ul li {} 50 .widget_categories ul ul.children {} 51 .widget_categories a {} 52 .widget_categories select {} 53 .widget_categories select#cat {} 54 .widget_categories select.postform {} 55 .widget_categories option {} 56 .widget_categories .level-0 {} 57 .widget_categories .level-1 {} 58 .widget_categories .level-2 {} 59 .widget_categories .level-3 {} 60 61 .widget_recent_comments {} 62 #recentcomments {} 63 #recentcomments li {} 64 #recentcomments li a {} 65 66 .widget_recent_entries {} 67 .widget_recent_entries ul {} 68 .widget_recent_entries ul li {} 69 .widget_recent_entries ul li a {} 70 71 .widget_text {} 72 .textwidget {} 73 .textwidget p {}
Багато класів дублюються за структурою: у «Рубрик», «Архівів», «Сторінок» і «Свіжих записів» ідентична вкладеність ul → li → a. На практиці це дозволяє групувати селектори через кому та скорочувати таблицю стилів:
1 .widget_categories ul, 2 .widget_archive ul, 3 .widget_pages ul, 4 .widget_recent_entries ul { 5 list-style: none; 6 padding-left: 0; 7 }
Чотири віджети, один рядок CSS. Без знання стандартних класів ви писали б окремі правила для кожного віджета вручну.
Класи коментарів: список і форма
Коментарі у WordPress мають найрозлогішу систему класів, особливо якщо тема підтримує деревоподібні обговорення. Для плаского списку вистачить трьох-чотирьох селекторів, але повний набір покриває вкладеність, парність/непарність, авторство та глибину.
1 /* Список комментариев */ 2 .commentlist {} 3 .commentlist li {} 4 .commentlist li p {} 5 .commentlist li ul {} 6 .commentlist .reply {} 7 .commentlist .reply a {} 8 9 .commentlist .alt {} 10 .commentlist .odd {} 11 .commentlist .even {} 12 .commentlist .thread-alt {} 13 .commentlist .thread-odd {} 14 .commentlist .thread-even {} 15 16 .commentlist .vcard {} 17 .commentlist .vcard cite.fn {} 18 .commentlist .vcard span.says {} 19 .commentlist .vcard img.photo {} 20 .commentlist .vcard img.avatar {} 21 .commentlist .vcard cite.fn a.url {} 22 23 .commentlist .comment-meta {} 24 .commentlist .comment-meta a {} 25 .commentlist .commentmetadata {} 26 .commentlist .commentmetadata a {} 27 28 .commentlist .parent {} 29 .commentlist .comment {} 30 .commentlist .children {} 31 .commentlist .pingback {} 32 .commentlist .bypostauthor {} 33 .commentlist .comment-author {} 34 .commentlist .comment-author-admin {} 35 36 .commentlist li ul.children li {} 37 .commentlist li ul.children li.alt {} 38 .commentlist li ul.children li.byuser {} 39 .commentlist li ul.children li.comment {} 40 .commentlist li ul.children li.depth-{id} {} 41 .commentlist li ul.children li.bypostauthor {} 42 .commentlist li ul.children li.comment-author-admin {} 43 44 #cancel-comment-reply {} 45 #cancel-comment-reply a {} 46 47 /* Форма комментария */ 48 #respond {} 49 #reply-title {} 50 #cancel-comment-reply-link {} 51 #commentform {} 52 #author {} 53 #email {} 54 #url {} 55 #comment 56 #submit 57 .comment-notes {} 58 .required {} 59 .comment-form-author {} 60 .comment-form-email {} 61 .comment-form-url {} 62 .comment-form-comment {} 63 .form-allowed-tags {} 64 .form-submit
Найкорисніші на практиці, .bypostauthor (виділяє коментарі автора допису кольоровою плашкою) та .depth-{id} (стилізація за рівнем вкладеності). Класи .odd/.even дозволяють розфарбувати коментарі зеброю для кращої читабельності довгих обговорень.
Відео: як використовувати стандартні класи WordPress під час верстання
Розбір теми на практиці завжди зрозуміліший за суху шпаргалку. У цьому відео показано, як знаходити та застосовувати стандартні класи WordPress під час доопрацювання готової теми: від інспектора коду до правок у style.css.
⁉️🤔 Часті запитання
Чи обов’язково використовувати body_class() і post_class() у своїй темі?
Так, якщо ви розробляєте тему для публічного розповсюдження. Це вимога стандартів WordPress Theme Review: без
body_class()іpost_class()тема не пройде перевірку в директорії WordPress.org. Для кастомної теми під себе не обов’язково, але ці функції заощаджують години роботи під час стилізації окремих сторінок і типів записів.
Чи можна додати свій клас до body або запису?
Можна. Передайте рядок із класом у виклик функції:
body_class('my-theme-body')додасть.my-theme-bodyдо тегу<body>. Аналогічно працюєpost_class('featured'), клас.featuredз’явиться у вибраних записів. Кілька класів передаються масивом:post_class( array( 'featured', 'no-sidebar' ) ).
Класи зі шпаргалки актуальні для Gutenberg?
Так. Хоча Gutenberg змінив редактор, фронтенд-розмітка WordPress залишилася такою самою.
body_class()іpost_class()працюють незалежно від редактора, а класи.align*.wp-captionі галерей Gutenberg також використовує. Класи віджетів актуальні для класичних віджетів; для блоків у сайдбарі структура відрізняється, але базовий.widgetзберігається.
Де додавати свій CSS: у style.css теми чи в налаштуваннях кастомайзера?
Для правок, які використовують стандартні класи WordPress, найбезпечніше
style.cssдочірньої теми. Додатковий CSS у кастомайзері (Appearance → Customize → Additional CSS) теж працює, але він прив’язаний до активної теми та зберігається в базі даних, і зі зміною теми стилі втрачаються. Якщо допрацьовуєте чужу тему, створіть дочірню та правте там.
Що робити, якщо тема не виводить стандартні класи?
Перевірте
header.phpна наявністьbody_class()усередині тегу<body>. Якщо виклик відсутній, додайте. Аналогічно в шаблонах циклу:post_class()має бути в атрибутіclassобгорткового елемента запису. У комерційних темах таке трапляється рідко, але в старих або самописних темах зустрічається регулярно.
Що взяти з цієї шпаргалки насамперед
Якщо ви зверстали одну-дві теми й не хочете запам’ятовувати всі класи, запам’ятайте три головні речі.
Перше. body_class(), ваш головний інструмент для стилізації конкретних сторінок. .home .single .category-slug .logged-in покривають більшість задач з кастомізації без правлення шаблонів.
Друге. post_class() із форматами (.format-video .format-gallery) дає змогу зробити сітку записів, де кожен формат виглядає по-своєму, без плагінів і зайвих умов у циклі.
Третє. Стандартні класи віджетів (ul → li → a) в усіх віджетів однакові. Групуйте селектори через кому, і ваш style.css буде вдвічі коротшим.
Збережіть цю шпаргалку в закладки. Коли наступного разу відкриєте інспектор коду й побачите незнайомий клас на <body>, ви знатимете, звідки він узявся і як його використовувати.



