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


投稿日:2012年2月7日
  • 4
  • 0



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

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コード

おすすめの記事

UWSCでPhotoshopの作業を自動化する方法

UWSCでPhotoshopの作業を自動化する方法

WordPressの最速キャッシュを探せ!APC、memcached、Transients APIを比較

WordPressの最速キャッシュを探せ!APC、memcached、Transients…

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

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

ads.txtの設置方法を通して学ぶインターネット広告の問題点

ads.txtの設置方法を通して学ぶインターネット広告の問題点

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

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

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

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

Question2AnswerへreCAPTCHAを導入する方法

Question2AnswerへreCAPTCHAを導入する方法

ユーザーの環境変数を設定するbashの設定ファイルと、カスタムプロンプトについて

ユーザーの環境変数を設定するbashの設定ファイルと、カスタム…


コメントを残す

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

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