WordPressで任意の文字数の抜粋を表示する
こんにちわ、ma-ya’s CREATE[まーやずくりえいと]です。
WordPressのブログ一覧画面などで本文の抜粋表示をすることがありますが、デフォルトの抜粋文字数を変更したいっていうことはよくあると思います。
抜粋文字数を引数によってその場その場で変更したい!
サイト全体としてデフォルトの抜粋文字数を変更する記事は検索するとかなり出てきますが、意外と出てこないのがその場その場で抜粋文字数を変更する方法。
そんなわけで下記サイトを参考にして(というかほぼコピペですんません)目的の仕様の関数を作成してみました。
function.php内
抜粋を表示させたい場所
詳細は上記サイト様にお任せしますが(ずるい)、カスタマイズ点として僕の場合はショートコード含めて抜粋表示したいので、上記コードの6行目を$content = do_shortcode($content);に変更。
こちらの方法だと下記のようなメリットがあります。
- その場その場で抜粋文字数を変更できる
- 抜粋内に意図しないスペースやアルファベット・記号が入らない
さらにこの関数は定番のthe_excerpt();の仕組みを使わず、純粋に本文を任意の文字数で取得する(echoは必須)関数です。
未確認の情報ですがググっていたら↓のような情報が散見されました。
the_excerpt()は重い
らしいです。場合によっては一つの抜粋を取得表示するのにthe_excerptだと秒単位で時間がかかるという話も。
しかも抜粋という性質上、一覧系のページで使用されることがほとんどだと思います。
なので下手をすると何十回もその処理が走ってしまうなんてこともありえますよね…
そういう意味でも今回の方法は望ましいんではないかと思います。
というわけで今回も勉強させて頂きました。本日もプログラミング有段者の方々に感謝。