WordPress: HTML теги в описании категорий, меток

Все сегодня просто параноидально настраивают сайты и блоги под поисковые системы и называется все это — SEO — дело надо признаться полезное и продуктивное.

«как сделать так чтобы WordPress не вырезал html теги в описании рубрик и меток«. Он их от туда оказывается вырезает, я до этого и не задумывался на этот счет. Впрочем, правильно делает, что вырезает, потому что если там использовать теги и случайно не закрыть какой-нить блочный тег вроде <div>, то потом можно долго недоумевать что за бомба упала на блог и почему его так раскарёжило, ведь никто же не подумает, что всему виной какое-то безобидное описание рубрики, особенно, если это описание добавлялось не тем, кто потом пытается вернуть все на круги своя.

Теги вырезаются функциями wp_filter_kses() и wp_kses_data(), которые как и все в мире WordPress цепляются через фильтры и которые соответственно можно «отцепить». Делается это всего двумя строчками.

remove_filter('pre_term_description', 'wp_filter_kses');
remove_filter('pre_term_description', 'wp_kses_data');

Вставляем эти две строчки в functions.php и радуемся, что никакие теги в описании рубрик и меток больше не вырезаются и у нас там полный карт-бланш на использование html А занчит можно воспользоваться такими тегами как h2 h3 и даже h4

html теги в описаниях ссылок и описании пользователей

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

$filters = array('pre_term_description', 'pre_link_description', 'pre_link_notes', 'pre_user_description');
foreach ( $filters as $filter ) {
    remove_filter($filter, 'wp_filter_kses');
}
 
foreach ( array( 'term_description' ) as $filter ) {
    remove_filter( $filter, 'wp_kses_data' );
}

Этот код тоже нужно вставлять в functions.php

wp_filter_kses

Кстати, без этих кодов, т.е. по умолчанию, в описаниях можно использовать некоторые теги, такие как: <a>, <strong>, <em>. Поэтому прежде чем использовать эти коды, убедитесь что без них вам не обойтись.