【WP】WordPressの本文抜粋・本文の一部を取得する

【WP】WordPressの本文抜粋・本文の一部を取得するWordPressで投稿された記事の本文の一部「抜粋」を取得するために、テンプレートタグthe_excerpt()とget_the_excerpt()があります。the_excerpt()とget_the_excerpt()は、投稿時に抜粋欄へ入力があればその内容が表示され、抜粋が抜粋を入力されていない場合は投稿内容の最初の55個の単語まで表示されます。英語では単語が空白スペースで区切られているため、単語数をカウントできますが、抜粋や本文が日本語の場合は、正しく単語が判別されず本文をすべて表示されてしまうことがあり、正しく表示するためには「WP Multibyte Patch」のプラグインを有効にしておく必要があります。「WP Multibyte Patch」のプラグインを有効になっている場合、the_excerpt() とget_the_excerpt()は、110文字を表示します。また、the_excerpt() とget_the_excerpt()では取得された文字の最後に[…] を付与します。

the_excerpt()とget_the_excerpt()の特徴

the_excerpt()とget_the_excerpt()は、HTMLタグ、ショートコードのタグは表示されずに、表示されます。どちらもループの中での利用になります。

the_excerpt()の使い方

the_excerpt()は、echoを使わず抜粋を表示することができます。また、表示される際は前後に<p>></p>が付与され表示されます。

<?php the_excerpt(); ?>

get_the_excerpt()の使い方

get_the_excerpt()は、ページに出力することがないため、変数に値を読み込み文字列を加工することや、echoで表示することができます。

<?php echo get_the_excerpt(); ?>

the_excerpt()とget_the_excerpt()で取得できる文字数を変えたい場合

function.php内に以下のコードを追記することで取得できる文字数を変えることができます。

function wpdocs_custom_excerpt_length( $length ) {
    return 200;
}
add_filter( 'excerpt_length', 'wpdocs_custom_excerpt_length', 999 );

ページごとに表示数を変えたい場合は、get_the_excerpt()で取得後、mb_substrを使い文字数を制御することができます。

<?php echo mb_substr(get_the_excerpt(), 0, 100); ?>

関連記事

GoogleのSEO動物園

検索エンジンのGoogleにおいてSEO対策で動物園と言われても何のことなのかと思ってしますが、Googleの動物園には有名なところで「パンダ」「ペンギン」「ハミングバード」がいます。 実際の動物がいるのではなく、Googleでサイトなどを分析するアルゴリズムの名前に「...続きを読む

2015.02.14SEO

【WP】シンプルなショッピングカートを導入できるプラグイン「WP−OliveCart」

今回紹介するプラグイン「WP-OliveCart」は、WordPressでショッピングカートを追加することができるプラグインです。無料版と有料版の2つがあり、国産プラグインで、日本語に対応したプラグインになっております。無料版では「ショッピングカート機能」「商品管理機能」、有料版...続きを読む

2018.11.19WordPress

【CSS】スタイルシートだけで縦方向と横方向でセンタリングする方法

WEBデザインで画像やレイアウトした要素を中央に揃えるレイアウトを作ることがよくあります。実際にHTMLにコーディングをするときに、横位置をセンターにする場合や、縦位置をセンターにする場合などCSSだけで実現する方法をまとめてみました。 { margin: 0 auto...続きを読む

2015.02.07HTMLコーディング

【JavaScript】国産ライブラリtmlib.jsを使ったアニメーション入門

「tmlib.js」はゲームやブラウザツールを簡単に作る事ができる国産のJavaScriptライブラリです。「tmlib.js」を使うとアニメーションや画像表示、サウンドなどゲームなどに必要な処理がプログラミングしやすいようになります。 WEBサイトなどにもアニメーショ...続きを読む

2015.03.11HTMLコーディング

ネイルサロンBrillez(ブリレ)様ロゴ制作

ネイルサロン『Brillez(ブリレ)』様のロゴを制作いたしました。Brillez(ブリレ)はフランス語で輝くの意味があります。 お客様のご要望で、店内はランドマークとなるシャンデリアあり、高級感のある大人の女性の雰囲気なので、ロゴも店内の雰囲気に合わせてデザインをして...続きを読む

2015.01.14ロゴ制作