Как удалить CSS класс из элемента в WordPress с помощью JavaScript

В этой статье разберём, как эффективно удалить CSS класс из HTML-элемента на сайте WordPress с использованием JavaScript. Это частая задача при динамическом изменении интерфейса, например, при взаимодействии пользователя с сайтом, изменении состояния элементов или при работе с AJAX. Также рассмотрим варианты интеграции кода в WordPress, чтобы изменения работали корректно и не конфликтовали с плагинами или темой.

Почему важно удалять CSS классы через JavaScript в WordPress

Динамическое управление стилями — ключевой аспект интерактивности сайта. В WordPress часто нужно менять внешний вид элементов, например, скрывать блоки, изменять оформление кнопок или переключать состояния меню. Удаление класса CSS — один из самых простых способов добиться этого.

Иногда плагины или тема добавляют классы автоматически, и чтобы изменить поведение, нужно их убрать. Например, класс active, добавленный меню, можно удалить, чтобы деактивировать пункт.

При этом важно, чтобы изменения не ломали функционал и были выполнены корректно, с учётом специфики WordPress и его системы загрузки скриптов.

Использование метода classList.remove()

Современный и самый удобный способ удалить класс — использовать стандартное свойство classList у DOM-элементов. Пример кода:

document.addEventListener('DOMContentLoaded', function() {
  var element = document.querySelector('.wpsetup-active');
  if (element) {
    element.classList.remove('wpsetup-active');
  }
});

Здесь мы ждём загрузки DOM, затем ищем элемент с классом wpsetup-active и удаляем этот класс. Такой способ безопасен и не вызывает ошибок, если элемент не найден.

Как корректно добавить JavaScript в WordPress

В WordPress запрещено просто вставлять скрипты произвольно в шаблоны, особенно если вы создаёте тему или плагин. Лучший способ — использовать хук wp_enqueue_scripts для подключения своего JS-файла.

Пример функции, которую можно добавить в файл functions.php вашей темы или в плагин:

function wpsetup_enqueue_scripts() {
  wp_enqueue_script('wpsetup-remove-class', get_template_directory_uri() . '/js/remove-class.js', array(), '1.0', true);
}
add_action('wp_enqueue_scripts', 'wpsetup_enqueue_scripts');

В этом примере подключается файл remove-class.js из папки темы js. В этом файле вы можете разместить код из предыдущего примера.

Пример remove-class.js с удалением класса

document.addEventListener('DOMContentLoaded', function() {
  var elem = document.querySelector('.menu-item-active');
  if (elem) {
    elem.classList.remove('menu-item-active');
  }
});

Удаление класса по событию клика: практический пример

Часто нужно удалять класс при взаимодействии пользователя. Например, снять выделение с кнопки при клике.

Пример кода:

document.addEventListener('DOMContentLoaded', function() {
  var btn = document.getElementById('wpsetup-button');
  if (btn) {
    btn.addEventListener('click', function() {
      this.classList.remove('active');
    });
  }
});

Такой подход позволяет динамически управлять классами, создавая интерактивный и удобный интерфейс.

Практическое применение с плагином Clearfy Pro

Плагин Clearfy Pro оптимизирует работу сайта и позволяет тонко настраивать поведение CSS и JS. В связке с нашим кодом вы можете отключать лишние скрипты или классы, которые появляются автоматически. Например, если Clearfy добавляет класс, который мешает отображению, удаление его через JavaScript будет быстрым решением.

Удаление нескольких классов и проверка наличия класса

Если нужно удалить сразу несколько классов, можно вызвать метод classList.remove с несколькими аргументами:

element.classList.remove('class1', 'class2', 'class3');

Пример функции в WordPress стиле с префиксом wpsetup_:

function wpsetup_remove_classes_from_element(selector, classes) {
  document.addEventListener('DOMContentLoaded', function() {
    var el = document.querySelector(selector);
    if (el) {
      el.classList.remove(...classes);
    }
  });
}

Использовать её можно так:

wpsetup_remove_classes_from_element('.menu-item', ['class1', 'class2']);

Проверка наличия класса перед удалением

Для безопасности можно проверить, есть ли класс у элемента, прежде чем удалять:

if (element.classList.contains('class-to-remove')) {
  element.classList.remove('class-to-remove');
}

Как удалить класс из множества элементов

Если нужно удалить класс у всех элементов с определённым классом, используйте document.querySelectorAll и цикл:

document.addEventListener('DOMContentLoaded', function() {
  var elements = document.querySelectorAll('.to-remove');
  elements.forEach(function(el) {
    el.classList.remove('to-remove');
  });
});

Этот способ полезен для массового очищения стилей, например, при смене темы или отключении функционала.

Интеграция с AJAX-загрузками

Если элементы загружаются динамически через AJAX, обработчик на DOMContentLoaded не сработает. В этом случае нужно вызывать функцию удаления класса каждый раз после загрузки контента.

Пример:

function wpsetup_remove_class_dynamic() {
  var elems = document.querySelectorAll('.dynamic-class');
  elems.forEach(function(el) {
    el.classList.remove('dynamic-class');
  });
}

// Вызов функции после AJAX
jQuery(document).ajaxComplete(function() {
  wpsetup_remove_class_dynamic();
});

Выводы и рекомендации

  • Используйте classList.remove для удаления CSS классов — это современно и эффективно.
  • Всегда подключайте скрипты через wp_enqueue_scripts, чтобы избежать конфликтов и обеспечить правильную загрузку.
  • Обрабатывайте динамически загружаемый контент отдельно, чтобы изменения применялись корректно.
  • Пользуйтесь проверкой наличия класса перед удалением для безопасности.
  • В сложных случаях интегрируйте решение с популярными плагинами, например, Clearfy Pro, для улучшения производительности и совместимости.

Для подробностей и обновлений плагинов смотрите на Clearfy Pro на wpshop.ru.

Как создать автоматическую сборку и оптимизацию изображений в WordPress
02.02.2026
Как отключить Emoji в WordPress: эффективные методы и примеры кода
19.03.2026
Как добавить произвольные типы постов в WordPress с примерами кода
20.12.2025
Как удалить и очистить комментарии в WordPress
18.02.2026
WooCommerce не отображает товары при фильтрации AJAX: диагностика и решение
28.04.2026