Таким образом функции должны работать по разному, на обрабатывать одни данные. Как реализовать?
Использовать для своей функции http://codex.wordpress.org/Template_Tags/get_the_title
пробую, почему не работает?
function opechatka1() {
$get_title='бла бла '.get_the_title;
return $get_title;
}
add_filter('get_the_tile','opechatka1');
вызываю
<?php print_r(get_the_title());?>
пробую, почему не работает?
Потому что плохо читаете доки…
А конкретнее можно узнать ошибку?
А конкретнее можно узнать ошибку?
Объясните, что вы хотите получить в итоге.
Хочу в заголовке заменить несколько букв на др буквы, a=>a(англ), и=>i.
При этом нужно вывести нормальный заголовок.
Потом вывести измененный заголовок.
Примерно так
function wikicms_change_letters($title) {
$find = array('а', 'и'); //что ищем
$diacr = array('a', 'i'); //на что меняем
$title = str_replace($find, $diacr, $title);
return $title;
}
add_filter( 'the_title', 'wikicms_change_letters' );
Потом вывести измененный заголовок.
Обычный заголовок выводите стандартной функцией, а этот оформляете через свою функцию
function the_mod_title() {
$title = get_the_title();
$find = array('а', 'и');
$diacr = array('a', 'i');
$title = str_replace($find, $diacr, $title);
echo $title;
}
ее используете рядом с обычной функцией
<?php the_mod_title(); ?>
Так я тоже могу.
Дело в том, что в шаблоне нужно сделать так, т.е. при обращении к посту будет:
<?php the_title();?> — нормальный заголовок
бла бла бла
куча текста и кода
<?php wikicms_change_letters();?> — измененный заголовок
бла бла
[offtop] Почему-то у меня str_ireplace не работает..
Если есть заглавные буквы используем такой вариант:
function the_mod_title() {
$title = get_the_title();
$diacr = array('а' => 'a', 'А' => 'A', 'и' => 'i', 'И' => 'I');
$title = strtr($title, $diacr);
echo $title;
}
Может, потому что utf? 😉
Юрий, может и так.. Хм.. Хотя в доках по этому поводу, вроде как, ничего и не указано..
Да и мне простительно ошибаться — я ведь любитель-самоучка :))
Модератор
Yuri
(@yube)
У самой PHPы с кодировками и локалями просто беда. Более-менее предсказуемый результат обработки национальных букв можно получить только с помощью mb_* функций (расширение mbstring) и функций preg_* (расширение PCRE).
P.S. Когда я получал высшее образование, не то что PHP, а и HTML еще не было. Так что по всему выходит, что я тоже самоучка 🙂
[off]
У самой PHPы с кодировками и локалями просто беда. …можно получить только с помощью mb_* функций (расширение mbstring)
Нынешняя тенденция разработки PHP идет к подмножеству юникода, типа utf-8, если верить их анонсам на сайте.. Может скоро и не будет таких заморочек, и mb_ не будет :)) все в ядре, автоматом )
А еще бы .ini всего из пары строчек :))