Рубрики
Wordpress

HTML в заголовке виджетов WordPress

У меня возникла необходимость использовать HTML в заголовке виджетов. Задача возникла потому, что нужно было правильно форматировать части заголовка, соответственно части нужно было разделить с помощью тегов, а по умолчанию WordPress удаляет теги из заголовков виджетов.

Что бы теги не удалялись вместо, например, <span> будем писать [span], то есть использовать квадратные скобки вместо угловых.

HTML в заголовке виджетов:

/**
 * Разрешаем HTML в заголовках виджета
 * 
 * @param $title
 *
 * @return mixed|string
 */
function widget_title_html( $title ) {
	
	// конвертируем квадратные скобки в уголки
	$title = str_replace( '[', '<', $title );
	$title = str_replace( ']', '>', $title );

	// удаляем все теги, кроме разрешенных
	$title = strip_tags( $title, '<br><span>' );
	
	// удаляяем символ двойных кавычек
	$title = str_replace( '&quot;', '', $title );

	return $title;
}

add_filter( 'widget_title', 'widget_title_html' );

 

Приведенный выше код необходимо вставить в файл functions.php, который располагается в папке с вашей темой.