WordPressで「続きを読む」が文字化けする場合の修正方法

WordPressで海外のテーマを利用するときに、「続きを読む」や、「・・・」で省略されたテキストが文字化けする場合があります。テーマフォルダ内のPHPで文字列を検索し、「続きを読む」のコードが書かれている該当箇所を探して修正することで対処できる場合があります。

①「…」付近のsubstrを探す

エディタでPHPファイルを開き、文字列の検索でsubstrを探します。多くは「…」の近くに書かれていると思うので、それらしき箇所を探します。

②コードを修正する

substrの場所を特定できたら、substrの前にmb_を追加してsubstrからmb_substrにします。

mb_substr

例えば下のような感じです。

$title = mb_substr($post_data['post_title'], 0, 10).' ...';

また、下のように複数箇所mb_の追加が必要な場合もあります。


if ($by_word === true) {
	$string = mb_substr($string, 0, $maxlen);
	for ($i = 1; $i < $search_len; $i++) {
		if (mb_substr($string, $maxlen-$i, 1) == " ") {
			$string = mb_substr($string, 0, $maxlen-$i) . " ...";
			return	$string;
		}
	}
	$string = mb_substr($string, 0, $maxlen-3) . "...";
} else {
	$string = mb_substr($string, 0, $maxlen-3) . "...";
	}
}