Можно играть
07.02.20

Убираем или заменяем теги h2, h3, h4 в заголовках виджетов WordPress

Убираем или заменяем теги h2, h3, h4 в заголовках виджетов WordPress

Доброго времени, дорогие друзья! В данной статье, разберем, как убрать или заменить ненужные теги h2, h3, h4 в заголовках виджетов.

Во всем виноваты сеошники

Все мы не понаслышке знаем, что лишние теги заголовков на сайте помимо основного контента, вовсе ни к чему. А откуда мы это знаем?! Да просто все сеошники в один голос орут что эти теги вне контентной части затрудняют продвижение сайта.

Никто не знает на 100%

Насколько это точно, да и правда ли это, на 100% никто сказать не может. Но ведь слух этот есть, и он уже достаточно давно и поэтому у многих чешутся руки поправить код в своем шаблоне.

Ведь после этого, сайт то полетит в топ семимильными шагами, причем во всех ПС мира!!!

Если вы сделали или делаете сайт на каком-то готовом шаблоне WordPress, а не изготовленном под вас, то естественно, этими тегами шаблон будет набит под завязку. И поэтому, ниже есть два решения, как убрать или заменить такие теги на что-то свое, к примеру, просто на div, что я и рекомендую всегда.

Способ № 1

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

Поиск нужного куска кода я бы начал так, открыл в редакторе notepad++ файл functions.php и поиском (ctrl+F5) искал бы фразу register_sidebar.

Как убрать теги h2, h3 из заголовков виджетов WordPress

Если в этом файле нет такой фразу, то следует поискать ее во всем шаблоне. Может быть спрятана где угодно. Для этого, опять открываем notepad++ и ищем уже по всей папке шаблона.

Как заменить заголовки виджетов WordPress

Нам нужно найти код похожий на код ниже, и в строках № 10 и 11 ( before_title и after_title ) меняем html обертку наших заголовков. К примеру, это может быть просто div с классом widget-title.

/**
 * Стандартная функция вывода сайдбара и виджетов в ней.
 */
register_sidebar( array(
   'name' => __( 'Right Archive', 'cmswp' ),
   'id' => 'right_archive',
   'description' => 'Колонка справа',
   'before_widget' => '<div class="widget-item">',
   'after_widget' => '</div>',
   'before_title' => '<div class="widget-title">', // Открывающий тег
   'after_title' => '</div>'                       // Закрывающий тег
));

Читайте также:


Способ №2

Еще один способ замены обертки – тега у виджетов, это добавить пару строк кода в файл functions.php активной темы.

/**
 * Меняем html обертку заголовков виджетов.
 */
function cmswp_custom_widget_title_tag( $params ) {
   $params[0]['before_title'] = '<div class="widget-title">' ; // Открывающий тег
   $params[0]['after_title']  = '</div>' ;                     // Закрывающий тег
   return $params;
}
add_filter( 'dynamic_sidebar_params' , 'cmswp_custom_widget_title_tag' );

Отключаем заголовок совсем

Добавляем код ниже также в файл functions.php и в начале названия виджета в админке сайта ставим восклицательный знак тем самым отключая полностью этот заголовок.

/**
 * Удаляем заголовок если он начинается с восклицательного знака.
 */ 
function cmswp_remove_widget_title( $widget_title ) {
   if ( substr ( $widget_title, 0, 1 ) == '!' )
      return;
   else
      return ( $widget_title );
}
add_filter( 'widget_title', 'cmswp_remove_widget_title' );
Отключаем заголовки виджетов WordPress

Не универсально

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

Также, это может быть просто напросто как-то «отключено или переопределено» самими разработчиками, чтобы избежать ошибок, ведь в комплекте с темами и различными дополнениями всегда идет куча виджетов с функционалом именно под них.

А на сегодня у меня все, до встречи в следующих постах! С вами был Дмитрий!