Замена класса содержимого виджета WordPress

#javascript #php #wordpress

Вопрос:

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

Например, я хочу добавить класс «управление формой» в класс «wp-блок-поиск__ввод»

Я пытался

 function replace_widget($text) {
        $text = str_replace('wp-block-search__inside-wrapper', 'wp-block-search__inside-wrapper input-group', $text);
        $text = str_replace('wp-block-search__input', 'wp-block-search__input form-control', $text);
        $text = str_replace('wp-block-search__button', 'wp-block-search__button btn btn-secondary', $text);
        return $text;
    }
    add_filter('dynamic_sidebar_params', 'replace_widget');
 

Но эта и подобные попытки, похоже, не работают.

Я попробовал несколько разных вариантов вместо «dynamic_sidebar_params», и я не уверен, что это то, что я делаю неправильно.

Я не уверен, что это не работает, потому что блоки WordPress созданы в JS.

Я не хочу делать это, добавляя javascript или jquery в нижний колонтитул, если это можно помочь. Я бы предпочел сделать это в бэкэнде.

Комментарии:

1. Чтобы добавить к этому — Это работает, если у меня есть виджет в содержимом и я использую add_filter(‘the_content’, ‘replace_widget’); — Мне не удалось заставить его работать с dynamic_sidebar — я попробовал несколько различных опций, включая «dynamic_sidebar», «dynamic_sidebar_params», «wp_render_widget» и «the_widget», но безуспешно.