👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →
Есть у меня список тегов на сайте, при наведении мышкой на тег всплывает что-то типа “5 тем”.
Хочу поменять эту надпись на “5 фильмов режиссёра [тут имя тега, оно же – имя режиссёра]”.
Как дописать фильмов режиссёра в файле перевода я знаю, а как вот сделать чтобы ещё и имя тега туда пихнуть? В файле перевода используются только какие-то %s, %d, %1 – примерно понимаю что они значат, но не знаю, как тег туда впихнуть.
Может плагин для изменения этого есть? Если нету, то влезу в код и куда угодно. Просто не знаю в какую сторону копать и как бы нагуглить инфу по вопросу.
Если что, сайт вот – . Сбоку справа – список режиссёров, вот там хотел бы изменить это.
Каким образом вы выводите облако тегов?
облако вывожу через php, по-моему это стандартное wp-облако
да, то есть не виджетом вывожу, а из php-файла в теме.
Мне какжется, что стандартный вывод облака тегов не умеет настраивать title каждого тега. Ну разве что только если не отредактировать перевод русского WordPress или применить какой-нибудь хитрый хак.
За то мне кажется, что вашу проблему решит плагин Simple Tags, который умеет отображать собственное облако тегов. В плагине можно настроить внешний вид тегов, в том числе и title.
[img]http://dl.dropbox.com/u/2027201/Images/tiaurus-2010-10-11_112042.png[/img]
да, думаю подойдёт, если настраиваемо так. только можно вывод для этого плагина сделать как-то, чтобы вставать в код, вместо обычного? потому что в стандартном виджете оформление у меня тогда будет отличаться от того, что сейчас в Списке режиссёров.
Это возможно:
спасибо большое, сработало :)
В стандартном облаке меток заголовки можно изменить с помощью фильтра. Достаточно добавить фрагмент в functions.php активной темы:
function new_tag_title($count, $type, $style, $name) {
$type = str_replace( array( ‘тема’, ‘темы’, ‘тем’ ), array( ‘фильм’, ‘фильма’, ‘фильмов’ ), $type );
$type = str_replace( array( ‘запись’, ‘записи’, ‘записей’ ), array( ‘фильм’, ‘фильма’, ‘фильмов’ ), $type );
return "title=’$count $type режиссёра $name’ $style>$name<";
}
function replace_titles_in_tag_cloud($cloud) {
$callback = create_function(‘$matches’, ‘return new_tag_title($matches[1], $matches[2], $matches[3], $matches[4]);’);
return preg_replace_callback("/title='(.*?) (.*?)’ (.*?)>(.*?)</i", $callback, $cloud);
}
add_filter(‘wp_tag_cloud’, ‘replace_titles_in_tag_cloud’);