当サイトのこのWordpressテンプレートとは、とても付き合いが長いので、全フォルダ構造を把握してカスタマイズも終わってはいたのですが、再構築に伴って文字化けしている箇所を発見しました。

substrの文字化け箇所

標準テンプレートでいうなら、moreタグを用いた続きを読むの箇所です。

WordPressのアップデートは関係ないと思うのですが、いつオリジナルファイルを上書きしてしまうかもしれませんので、その備忘録として記載しておきます。

WordPressテンプレートの作成者によって、phpの記述は異なるかと思うのですが、海外から取得したテーマは、だいたい続きを読むという箇所のソースコードがこのようになっているかと思います。

私の該当phpファイルのコード抜粋ではありますが、

……$out .= ‘<h3><a href=”‘ . get_permalink() . ‘” title=”‘ . get_the_title() . ‘”> ‘ . get_the_title() . ‘ </a></h3>

<p>’ . substr(get_the_excerpt(), 0, 70) . ‘…</p>

ここを……

……$out .= ‘<h3><a href=”‘ . get_permalink() . ‘” title=”‘ . get_the_title() . ‘”> ‘ . get_the_title() . ‘ </a></h3>

<p>’ . [highlight color=”yellow”]mb_[/highlight]substr(get_the_excerpt(), 0, 70) . ‘…</p>

と mb_ を加えてあげれば、だいたい改善するかと思います。substrは半角文字のみゆえ文字化けしてしまうのです。mb_substrは全角文字も対応してくれます。

クライアントのWebサイト構築でも、これで解決した記憶があったので、今回の文字化け処理は一瞬で解決しました。

IT業界全般に言えることなのですが、答えがわかっていると、どうしてこんなことに多大な時間をかけてしまったのやらと思うときがあります。

そうして強くはなっていくのですけどね……日々、精進です。