WordPress の the_excerpt() で […] を消す/変更する
2010-4-18 07:00
WordPress の記事の抜粋を表示する API 関数が the_excerpt() です。本文の先頭から日本語の場合は先頭から110文字を取り出して表示するものですが、本文が長い部分には省略を表わす […] という文字列が付いてきます。
この部分はリンクでもないし、変更も消去もできないので、あまり評判がよくないので、the_content() を使っていた方も多いと思います。
しかし、WordPress Codex 日本語版の説明によると、WordPress 2.9 以降では、’excerpt_more’ フィルターを使うことによりこの動作を変更できるようになったそうです。
#function.php function new_excerpt_more($more) { return ''; } add_filter('excerpt_more', 'new_excerpt_more');
テーマの function.php に上記のように書くと、[…] の部分が消えます。また、return の部分を変更すれば任意の文字列も返せますので、以下のようにすれば「続きを読む」のリンクを表示できます。
function new_excerpt_more($more) { global $post; return '……(<a href="' . get_permalink() . '">' . __('続きを読む') . '</a>)'; } add_filter('excerpt_more', 'new_excerpt_more');
ただしリンクが出力されないで欲しいところで表示されるなど、テーマによっては想定外の動作をするかもしれません。
WordPress 2.8 以前では、’wp_trim_excerpt’ フィルターで同様のことができるようです。Codex の記事を参照してください。
[…]がずっと気持ち悪かったので、(続きを読む)に変更することができてすっきりしました。ありがとうございました。
コメント by asazuki — 2010-06-8 23:03
いつもお世話になっています。
asazukiさん同様、とっても気持ち悪かったのが
すっきりしました♪
ほんとに、ありがとうございます!
これからもお世話になります。
コメント by ねこもりや — 2010-06-26 11:32