mb_substr()使ってもサムネイルの見出しがズレるじゃん!という話
2020/03/01
またしても忘備録。
WordPressでよくある、こういう感じの記事表示方法。
文字制限をかけてあげないと枠内から文字が飛び出しちゃいます。
そんな時、mb_substr()関数使うことが多いと思います。
でも、mb_substr()関数だと半角も全角も1文字とカウントしちゃうので表示のズレが出てきてしまいます。
そこでmb_strimwidth()を使いましょうという話です。
使い方はほとんど同じ。
<?phpechomb_strimwidth($post->post_title,0,10,"...","UTF-8"); ?>
こんな感じで書きます。
例のとおりだと記事タイトル($post->post_title)を最初(0を指定)から10文字取り出して10文字超えたら「…」を出してねって感じです。
mb_strimwidthは1バイト文字は1とカウントし、2バイト文字は2とカウントします。
mb_substrだと2バイト文字も1とカウントしますのでズレが出ちゃうんですね。
あれ?じゃあsubstr関数でよくね?って思ったあなたはなかなかデキる人(かも)!
substrだと半角が混じった文字が奇数個、かつ文末が2バイト文字の際、文字化けが生じます(2バイト文字が1バイトでぶった切られる)。
そのへんの処理をイイ感じにしてくれるのがmb_strimwidthです(詳細説明しろよ…)。
便利なので良かったら使ってみてくださいね~。
関連記事
-
-
Redirectionプラグイン:REST APIの検索で止まる
久しぶりのWordPress忘備録。 Redirectionプラグインを初期設定 …
-
-
別ページのカスタムフィールドの値を取りたいときー
トップページにカスタムフィールドの値を出したい時ってありますよね? そんな時は固 …
-
-
Limit Login Attempts Reloadedとしてヤツが帰ってきた件
かんたん優秀なセキュリティ、「Limit Login Attempts」 Lim …
-
-
All-in-One Event Calendarでエラー「イベントの取得中に何かがうまくいきませんでした。」
使い慣れないプラグインは変なことが起こるのでびっくりデスよ。 表題のエラーが起こ …
-
-
子カテゴリに親カテゴリのテンプレートを引き継がせる
WordPressって基本的に親カテゴリを指定すると、それにぶら下がっている子カ …
-
-
マルチサイト引越し時の注意
マルチサイト引越の手順でひっかかったので忘備録。 引越し先のWordPressイ …
-
-
各固定ページのページデザインをテンプレート選択で可能にする方法
よく使うのに忘れてしまうのでまた忘備録がわりに・・・。 【ネタ元:はじめてのWo …
-
-
PHPのバージョン変更したことでエラーが出る
PHPバージョン7系のサーバーからPHPバージョン8系サーバーにサイト移管した時 …
-
-
カスタムフィールドの値をURL指定して記事をソートする
WordPressは記事ソートや抽出が中々優秀でして、URLから指定してあげるこ …
-
-
WordPressで会員サイト的なものを作りたい
WordPressで会員サイト的なものを作る と言う題目で幾つか記事があったんで …

