Странный глюк в теме

При активации темы все русские надписи в админке превращаются в кракозябры.

База данных в кодировке UTF-8, в хедере нужная кодировка прописана:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

Проверила файлы темы – все тоже в кодировке UTF-8.

Переустановила Денвер (Сайт на локалке), хотя он и ни при чем, wordpress (причем 3 раза – разные версии) – все тот же глюк. А тема эта мне очень нужна, даже не знаю, что еще можно сделать – Больше ничего в голову не лезет.

Помогите, пожалуйста разобраться – никогда ни с чем подобным не сталкивалась.

а в какой кодировке показывает браузер?

Пристально смотреть на файл functions.php Темы.

Браузер показывает в кодировке Windows-1251.

Ю.Б., вы как всегда правы – проблема была именно в этом файле, а именно в этой части кода:

remove_filter('get_the_excerpt', 'wp_trim_excerpt');
add_filter('get_the_excerpt', 'custom_trim_excerpt');
function custom_trim_excerpt($text) { // Fakes an excerpt if needed
global $post;
if ( '' == $text ) {
$text = get_the_content('');
$text = apply_filters('the_content', $text);
$text = str_replace(']]>', ']]>', $text);
$text = strip_tags($text);
$excerpt_length = 90;
$words = explode(' ', $text, $excerpt_length + 1);
if (count($words) > $excerpt_length) {
array_pop($words);
array_push($words, '...');
$text = implode(' ', $words);
}
}
return $text;
}

Как только я его удалила, все восстановилось.

И, в файлах темы ничего не поломалось без этой части.
Я так поняла – она отвечает за вывод текста. А что именно она делает?

А что именно она делает?

Fakes an excerpt if needed – подменяет штатный the_excerpt. Только не спрашивайте "зачем" 🙂

Спасибо, Ю.Б.

Что-то с этой темой точно не то. После публикации первой же статьи все глюки с кодировкой вернулись опять, и все время вылазит ошибка:

Warning: Cannot modify header information - headers already sent by (output started at Y:\home\wordpress\www\wp-content\themes\...\functions.php:28) in Y:\home\wordpress\www\wp-includes\pluggable.php on line 770

Откуда она берется, не пойму.

Может, после финального ?> есть еще строка. Или внутри есть ?> пустая строка <?

Точно. Как в воду глядели.
Было там пара пустых строк – удалила и все исправилось.

Спасибо большое.

А эта ошибка тоже из-за пустых строк возникает?

Warning: Cannot modify header information - headers already sent by (output started at Y:\home\wordpress\www\wp-content\themes\...\functions.php:28) in Y:\home\wordpress\www\wp-includes\pluggable.php on line 770

Ошибка Cannot modify header information возникает при любом выводе в поток (на экран, если хотите) любых символов, включая переводы строк, пробелы и BOM, до вывода в http-заголовок (header или установка куков). При этом php пишет, кто и где поперед батька полез в вывод (functions.php:28). Но почему-то большинство людей смотрят на файл/строку, которые не смогли вывести инфу в http-заголовок (pluggable.php on line 770)

Спасибо, разобралась.

Anonymous
Отправить
Ответ на: