【WordPress】本文やタイトルを任意の文字数で制限し末尾に「...」を付けつつhtmlコードを無視する方法
2022/04/28
久しぶりの個人的WordPress備忘録。
例によって写真は投稿の内容と全く関係ないです。
仕事でWordPressを使っていて毎回忘れて調べまくっている事の一つが、投稿のタイトルと本文の文字数を任意の文字数に指定しつつ、文字数がオーバーした場合に「…」を付ける方法。
かつ、htmlは削除(無視)してプレーンテキストとして出力する方法。
今回、お仕事でまた調べることになっていろいろなサイトを見まくっていたら、全く知らなかったWordPress関数を発見。こんな簡単な方法があったのかと衝撃的でした。
その関数は「wp_trim_words」です。
まぁ、知っている人には、何をいまさらなんだろうけどね。
俺は知らなかったよー。
ちなみに、この関数を使う大前提として、WordPressの日本語対応の超定番プラグイン「WP Multibyte Patch」を有効化していることが条件みたいです。
使い方
本文(the_content)を抜粋する方法。
<?php echo wp_trim_words(get_the_content(), 90, '…' ); ?>
第一引数が抜粋したい文字列。
ここでは本文を抜粋したいので「get_the_content」になります。
タイトルを抜粋したいときは「get_the_title」になります。
第二引数が文字数。
デフォルト55文字で110文字までイケるみたいです。
第三引数は切り取った場合、その後ろに追加する文字。
ここでは「…」と指定。
これだけで良かったのか…。