Обрезание заголовков в WordPress

Замечено:
WordPress 2.0.10
PHP 5.x.x
MySQL 5.x
Кодировка UTF-8

Проблема:в некоторых плагинах или в хаках, котоыре вы используйте самостоятельно, для корректного вывода название топиков и урезание символов (чтобы сократить длину топика)
в кодировке UTF-8 использование функции substr некорректно, выводятся непотребные символы, кодировка исходников портится, но современный браузер исправляет это автоматически

Решение:
Следует воспользоваться функцией mb_internal_encoding("UTF-8");, если она поддерживается на вашем сервере, если же нет, то решение в виде отдельного класса описано на php.org в разделе функции substr.

Для примера привожу код вывода из одной категории нескольких постов с выводом только топиков (названий), оригинал кода – взято у Максима

<?php
mb_internal_encoding("UTF-8");
$posts_new = get_posts('category=2&numberposts=6');
foreach ($posts_new as $post_new) :
    echo '<a href="'; 
    echo get_permalink($post_new->ID);
    echo '" title="">';
    echo mysql2date('d.m',  $post_new->post_date); 
    echo ' - ';
    $news_small = mb_substr($post_new->post_title, 0, 70);
    echo $news_small;
     echo '...';
    echo '</a><br />';
endforeach;    
?>
Anonymous
Отправить
Ответ на: