Как в облаке меток выделить текущие метки записи?
Иногда требуется выделить в облаке меток текущие метки записи. Стандартным путем это сделать нельзя, так как функция вывода облака меток попусту не обладает такой настройкой. Можно воспользоваться каким-либо сторонним плагином для вывода облака меток, а можно стилизовать стандартный виджет облака меток. Для этого вам необходимо добавить в файл functions.php вашей темы следующий код:
//добавляем текущей метке в облаке класс current-tag start function wph_add_current_tag($return) { $post_tags = array(); if( is_single() ) { global $wp_query; $post_tags = get_the_terms($wp_query->post->ID, 'post_tag'); } if( is_tag() ) { $tags = explode('+', get_query_var('tag')); foreach($tags as $tag) { $post_tags[] = get_term_by('slug', $tag, 'post_tag'); } } if($post_tags) { foreach($post_tags as $pt) { $tag = $pt->term_id; $return = str_replace("link-".$tag, "link-".$tag . " current-tag", $return); } } return $return; } add_filter('wp_tag_cloud', 'wph_add_current_tag'); //добавляем текущей метке в облаке класс current-tag end |
И не забудьте стилизовать добавленный класс .current-tag в файле style.css вашей темы или в произвольном коде css:
.current-tag { color: red; } |
Красный цвет тут только для примера, никто не мешает вам стилизовать текущие метки на свой собственный вкус (и чтобы подходило под дизайн используемой темы).