[WordPress] テーマ編集をしないで the_excerpt() を the_content() に変える

  • このエントリーをはてなブックマークに追加
  • Pocket

attention この記事は2年以上前の投稿になります。
記載された情報が古くなっている可能性がございますので十分ご注意ください。

お使いのワードプレスのテーマによっては「the_excerpt()」自体がデザインと合わなかったり、トップページのような一覧性を高めるために「the_excerpt()」を使わない人もいると思います。
※the_excerpt():抜粋表示で、the_content():全文表示です。

「functions.php」に記載する方法です。

function excerpt2content($content) {

    return the_content();
}
add_filter('get_the_excerpt', 'excerpt2content');

※実際には「Code Snippets」)で導入してます。

ポイントは『add_filter(‘get_the_excerpt‘, ‘excerpt2content’)』です。
「the_excerpt」にフックをしてしまうと、下記のように他のプラグインなどでフックされているものが重複してしまいます。
get_the_excerpt_001

もちろんお使いのテーマによっては別な問題を引き起こす可能性がありますので、「the_excerpt()」がどこで使われているかを把握した上で利用してくださいね。
私の場合は下記のように「is_single()」で分岐してあげないと上手くいきませんでした。

function excerpt2content($content) {
	if(is_single()) {
		return $content;
	} else {
	    return the_content();
	}
}
add_filter('get_the_excerpt', 'excerpt2content');

他にも表示が壊れてるところがあったらご指摘ください。

ネット集客を加速させるWebサイトをWordPressで作る方法
WordPress対応 PHPファイル 難読化ツール

ご訪問ありがとうございます。
参考になりましたら『いいね!』もお願いします。

ITの活用情報を毎週お届けする無料メルマガに是非ご登録ください。

閉じる

ご意見・ご感想をお待ちしております。

いただいた情報は一般公開されません。(入力いただいたメールアドレスにてご返信させていただきます)
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。