記事の抜粋を表示する「the_excerpt()」をカスタマイズして本文の長さを変える方法


投稿日:2012年2月7日
  • 2
  • 3



ページに合わせた抜粋を表示する

WordPressで抜粋を表示するには「the_excerpt()」というテンプレートタグを追加するだけです。とても便利ですが、この方法では全て同じフォーマットで出力されてしまいます。
ホームでは要素が多いので短い抜粋、一覧ページでは内容を把握してもらいたいので長めの抜粋を表示したい」そんな需要は多いのではないでしょうか。
そこで今回は「functions.php」でフィルター関数を追加する方法を解説します。

今回の目標

  • ホームで抜粋を表示したときは本文の長さを半分にする。
  • 同じくホームでは「続きを読む →」を削除。

設定方法

設定するファイルは「wp-content > themes > twentyten > functions.php」にあります。(twentytenを使っている場合)

ホームで抜粋を表示したときは本文の長さを半分にする方法

functions.php」を開いて最後に以下のタグを追加。

// ホームだけ抜粋の本文を半分に
function new_excerpt_mblength($length) {
	if (is_front_page()) {
	return 55;
	}else {
	return 110;
	}
}
add_filter('excerpt_mblength', 'new_excerpt_mblength');

2行目new_excerpt_mblength($length)」でマルチバイトの本文を指定
3行目if (is_front_page())」でフロントページを表示しているときという条件を指定
4行目return 55」でフロントページを表示しているときは55文字(マルチバイト文字だと27文字)
6行目return 110」でフロントページ以外を表示しているときはデフォルトの110文字
9行目で新しいマルチバイト用のフィルター関数を追加

同じくホームでは「続きを読む →」を削除。

上の設定と同じく「functions.php」を開いて最後に以下のタグを追加。

// ホームだけ「続きを読む→」を削除
function new_excerpt_more($post) {
	if (is_front_page()) {
	return '...';
	}else {
	return '... <a href="'. get_permalink($post->ID) . '">' . '続きを読む→' . '</a>';
	}
}
add_filter('excerpt_more', 'new_excerpt_more');

基本的に同じ構造なので詳しくは説明しませんが、「new_excerpt_more($post)」で続きを読むを変更しています。上の「」がホームで抜粋を表示しているときの表記、elseの下にあるものがそれ以外のページを表示しているときの表記になります。

さらに詳しく知りたい方は「WordPress Codex「the_excerpt」のページ」を参照してください。


上の2つの変更で以下のようになります

ホームで「the_excerpt()」を使った場合

本文の長さが通常の半分で、「続きを読む→」の表記がなくなっている。

ホーム以外のページで「the_excerpt()」を使った場合

通常の本文の長さで、「続きを読む→」の表記がある。



現在のページを共有する



現在のページに関連する記事

記事の抜粋を表示する「the_excerpt()」をカスタマイズして本文の長さを変える方法 もう覚えなくても大丈夫!?WordPressの条件分岐タグの使い方まとめ
記事の抜粋を表示する「the_excerpt()」をカスタマイズして本文の長さを変える方法 WordPress Popular Posts 3.2.1を徹底的にカスタマイズする方法
記事の抜粋を表示する「the_excerpt()」をカスタマイズして本文の長さを変える方法 WordPressプラグインの仕組みとクラスを利用したより実践的な解説
記事の抜粋を表示する「the_excerpt()」をカスタマイズして本文の長さを変える方法 WordPress公式テーマTwenty Tenを子テーマでレスポンシブWebデザインに変更
WordPressにGoogle+、Facebook、Twitterボタンを追加 WordPressにGoogle+、Facebook、Twitterボタンを追加
記事の抜粋を表示する「the_excerpt()」をカスタマイズして本文の長さを変える方法 WordPressに「トップへ戻る」ボタンを設置して、フックの仕組みについて学ぼう
記事の抜粋を表示する「the_excerpt()」をカスタマイズして本文の長さを変える方法 貼るだけ簡単!アクセスが倍増するWordPress用OGPコード

おすすめの記事

Web Fontの使い方とGoogle Fontsのオススメフォント 10選

Web Fontの使い方とGoogle Fontsのオススメフォント 10選

ページ編集の手間を劇的に減らす、Custom Field Templateでカスタムフィールドを作る方法

ページ編集の手間を劇的に減らす、Custom Field Templateでカス…

Googlebotを手懐ける!robots.txtの書き方とrobots.txtテスターの使い方

Googlebotを手懐ける!robots.txtの書き方とrobots.txtテスター…

サーバで管理していたWordPressをローカル環境に移行する方法

サーバで管理していたWordPressをローカル環境に移行する方法

誤って削除したGoogle Chromeのブックマークを復元する方法

誤って削除したGoogle Chromeのブックマークを復元する方法

自前の国別IPv6、IPv4アドレス割当リストを作成しよう

自前の国別IPv6、IPv4アドレス割当リストを作成しよう

日々の単純作業を自動化できるUWSCの使い方(入門・書式編)

日々の単純作業を自動化できるUWSCの使い方(入門・書式編)

WordPressで手軽にAdblock対策するならBetter Stop AdBlockで決まり!

WordPressで手軽にAdblock対策するならBetter Stop AdBlockで決…


コメントを残す

コメントは認証制のため、すぐには反映されません。

プログラミングに関する質問は「日本語でプログラミングの悩みを解決するQ&Aサイト sukegra」をご利用ください。