Как избавляться от лишних классов в WordPress?

Илья Новиков15 августа 2026 г.

2 ответа

Ответить
4

Я обычно лезу в functions.php и вешаюсь на фильтр `body_class` — там через `array_diff` или `unset` вырезаю мусор. Если тема кастомная, проще вообще дропнуть вызов `body_class()` и вписать свои классы руками. Для постов аналогично `post_class` чистится.

0

Помимо фильтров `body_class` и `post_class`, стоит проверить другие источники мусора: классы в меню (`menu-item-*`), виджетах и даже в `admin_body_class`. Для системной уборки составьте список классов, которые реально используются в CSS и JS темы, а затем отфильтруйте всё остальное. Например, можно регулярным выражением вырезать автоматические префиксы вроде `page-id-*`, `category-*` или `post-type-*`, оставив только смысловые классы.

Удобно сделать отдельную функцию-хелпер в `functions.php` или в must-use-плагине, чтобы очистка не зависела от смены темы. В ней можно добавить условную логику: для админов оставить диагностические классы, для посетителей — убрать. Не забывайте, что некоторые классы (например, `current-menu-item` или `has-post-thumbnail`) используются ядром и скриптами, поэтому удалять их стоит только если вы точно проверили, что ничего не сломается.

После изменений обязательно сбросьте кеш плагинов оптимизации и проверьте вёрстку на ключевых страницах: списке записей, отдельной записи, архивах. Иногда проще переопределить шаблон в дочерней теме и вывести классы вручную через `get_body_class()`, чем бороться с фильтрами.

Ваш ответ

Минимум 20 символов (0/20)

, чтобы ответ был привязан к аккаунту

Похожие вопросы