記事の抜粋を表示する「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コード

おすすめの記事

コピペから脱出!iptablesの仕組みを理解して環境に合わせた設定をしよう

コピペから脱出!iptablesの仕組みを理解して環境に合わせた設…

本気で作りたい人向け、WordPressプラグインの作成方法

本気で作りたい人向け、WordPressプラグインの作成方法

新しいGoogleマップ「Google Maps Platformの使い方」まとめ

新しいGoogleマップ「Google Maps Platformの使い方」まとめ

プロ根性のあるデザイナーやブロガーにお勧めする4つの画像編集ソフト

プロ根性のあるデザイナーやブロガーにお勧めする4つの画像編集…

Google Adsenseで配信される詐欺的なサイトのブロック用URLまとめ

Google Adsenseで配信される詐欺的なサイトのブロック用URLまとめ

W3 Total Cacheの設定を通して学ぶ、WordPressを高速化するキャッシュの仕組み

W3 Total Cacheの設定を通して学ぶ、WordPressを高速化するキャ…

Norikraの使い方をサンプルのクエリとイベントを交えて解説

Norikraの使い方をサンプルのクエリとイベントを交えて解説

fluentdとNorikraでDoS攻撃を遮断し、メールで通知する方法

fluentdとNorikraでDoS攻撃を遮断し、メールで通知する方法


コメントを残す

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

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