====== WordPress ======
===== Проблеми =====
==== Проблеми з кодуванням наприкінці обрізаного тексту ====
Якщо при обрізанні тексту темою, останні символи можуть бути в невірному кодування - це значить, що тема використовує застарілу функцію обрізання
Наприклад
function get_home_blog_excerpt()
{
global $post;
$excerpt = get_the_content();
$excerpt = strip_tags(preg_replace(" (\[.*?\])",'',$excerpt));
$excerpt = strip_shortcodes($excerpt);
$original_len = strlen($excerpt);
$excerpt = substr($excerpt, 0, 145);
$len=strlen($excerpt);
if($original_len>275) {
$excerpt = $excerpt;
return $excerpt . '';
}
else
{ return $excerpt; }
}
В даному випадку винуватець - рядок
$excerpt = substr($excerpt, 0, 145);
Потрібно замінити його на
$excerpt = mb_substr($excerpt, 0, 145);
Правильний код виглядатиме так
function get_home_blog_excerpt()
{
global $post;
$excerpt = get_the_content();
$excerpt = strip_tags(preg_replace(" (\[.*?\])",'',$excerpt));
$excerpt = strip_shortcodes($excerpt);
$original_len = strlen($excerpt);
$excerpt = mb_substr($excerpt, 0, 145);
$len=strlen($excerpt);
if($original_len>275) {
$excerpt = $excerpt;
return $excerpt . '';
}
else
{ return $excerpt; }
}
[[https://toster.ru/q/677720|Джерело]]