マジカルスリー・だいすけのなりゆき長者ブログ

沖縄/大阪WEB広告・ホームページ制作・印刷物制作 マジカルスリー 「福」代表のブログ

*

mb_substr()使ってもサムネイルの見出しがズレるじゃん!という話

      2020/03/01

またしても忘備録。

WordPressでよくある、こういう感じの記事表示方法。

文字制限をかけてあげないと枠内から文字が飛び出しちゃいます。

そんな時、mb_substr()関数使うことが多いと思います。

 

でも、mb_substr()関数だと半角も全角も1文字とカウントしちゃうので表示のズレが出てきてしまいます

そこでmb_strimwidth()を使いましょうという話です。

使い方はほとんど同じ。

 

<?php echo mb_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です(詳細説明しろよ…)。

 

便利なので良かったら使ってみてくださいね~。

 - WordPressの事

Message

  関連記事

WordPressで会員サイト的なものを作りたい

WordPressで会員サイト的なものを作る と言う題目で幾つか記事があったんで …

Advanced Custom Fieldsで作ったカスタムフィールドの画像をアイキャッチ画像にする

カスタムフィールドで投稿した画像を自動でアイキャッチ画像にしたかったのですが、A …

サイトに重大なエラーがありました。と出てきて顔面蒼白になる

WordPressを使っていると稀にこの事象に出くわします。 バックアップが運良 …

.htaccessに最低限設定しておいたほうが良いこと

簡単で結構効果のあるセキュリティとして.htaccessの設定がありますが、最低 …

Sydneyで正方形のアイキャッチ画像を使いたかった話

通常、WordPressでアイキャッチ画像を設定すると、そのサイズでアイキャッチ …

新着情報などでAll-in-One Event Calendarのカテゴリ名を表示する方法

ハマりました。 ドハマリしました。侮ってました。 「カテゴリ出力するだけでしょ。 …

カスタムフィールドの値をURL指定して記事をソートする

WordPressは記事ソートや抽出が中々優秀でして、URLから指定してあげるこ …

各固定ページのページデザインをテンプレート選択で可能にする方法

よく使うのに忘れてしまうのでまた忘備録がわりに・・・。 【ネタ元:はじめてのWo …

WordPressの指定日時での部分表示

久しぶりにWordPressで少しハマったので忘備録です。 サイトの一部分だけ指 …

WordPressで記事を取得、ループしたいときに-その2

WordPressで記事を取得したいんだけど・・・ WordPressで記事を取 …