Как убрать теги h2-h4 из названия виджета в WordPress

Практически в каждой темы можно столкнуться с неоднозначным решением разработчиков (автора темы), а именно злоупотреблением тегов h2-h4. Их часто прописываю там, где они не выполняют свою функцию. И одним из таких мест является название виджетов.

Для кого-то это может быть не критично, но для многих эта часть контента (сайдбар) не нуждается в «подчеркивании». То есть она не настолько важная, чтоб в заголовках виджета использовать теги h2-h4.

Поэтому давайте рассмотрим одно очень лаконичное решение того, как убрать теги h2-h4 из названия виджета в WordPress. И это нужно сделать так, чтобы при обновлении родительской темы наши внесенные изменения не пропали. А значит делаем это в дочерней теме. Просто в файл functions.php вставьте этот хук.

/*
 * убрать теги h2-h3-h4 из виджета
 */
function wsdelit_widget_counter($params) {
    global $widget_counter;
                $params[0]['before_title'] = '<div class="widget-title"><span>';
                $params[0]['after_title'] = '</span></div>';
    return $params;
}
add_filter('dynamic_sidebar_params','wsdelit_widget_counter');
4 комментария
  1. Чем можно заменить, чтобы не слетели стили? У меня получается менять только на h.........

    1. Посмотрите какой класс в вашей теме отвечает за название виджетах. Затем добавьте его в хуке в div <div class="widget-title">

  2. А как убрать h2 в комментариях. Вот где слово «X комментариев» и «оставить ответ»?

    Конечно можно перенести файл комментариев в дочернюю тему, а если без переноса файла? Как то это прописать в дочерней теме

    1. В случае с «X комментариев» нужно через файл comments.php изменять тег H2. Потому что он прописывается не через какую-либо функцию, а просто вручную, как обычный тег.

      Пример:

      <h2 class="comments-title">
          <?php comments_number( '', esc_html__( 'One comment', 'mythemes' ), esc_html__( '% comments', 'mythemes' ) );?>
      </h2>
      

      А для «оставить ответ» можно через файл functions.php изменить.

      // Изменяем заголовок формы комментария
      function custom_comment_form_ws($defaults) {
          
          $defaults['title_reply_before'] = '<div id="custom-reply-title" class="comment-reply-title">';
          $defaults['title_reply_after'] = '</div>';
      
          return $defaults;
      }
      
      add_filter('comment_form_defaults', 'custom_comment_form_ws');
      

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *