time 2017/10/17
前回、自動的に記事を全文表示から抜粋表示にする方法を紹介したので、今回は<–!more–>を使った「続きを読む」のカスタマイズ方法を紹介しようと思います。
前回同様、『Twenty Eleven 1.2』に合わせて説明します。
『Twenty Eleven 1.2』は<–!more–>を入力すると「続きを読む」と表示するので、「続きを読む」以外のテキストが表示されるテーマを使用している方は、使用しているテーマに置き換えてお考えください。
また、WordPressバージョン 2.7.1以下を使用している方はここをご覧下さい。
▼『続きを読む』のリンク先を記事の先頭に変更する方法
『続きを読む』のリンク先は、<–!more–>を入力した場所になっています。それなので、記事の途中から表示されてしまいます。
記事の初めから表示したい場合は、使用しているテーマのディレクトリ内にある『functions.php』に以下のコードを追加します。
// <!--more-->のリンク先をページの先頭に移動に変更するコード function remove_more_jump_link($link) { $offset = strpos($link, '#more-'); if ($offset) $end = strpos($link, '"',$offset); if ($end) $link = substr_replace($link, '', $offset, $end-$offset); return $link; } add_filter('the_content_more_link', 'remove_more_jump_link');
これで、リンク先が記事の先頭になります。
▼『続きを読む』を好きなテキストに変更する方法
『続きを読む』を好きなテキストに変更したい場合は『the_content』タグを以下のように書き換えます。
色々な場所に書かれていますので、Devasを使用して探すと楽だと思います。
// 『続きを読む』を『もっと読む?』に変更する方法 <?php the_content( 'もっと読む?' ); ?>
『the_content』タグに好きなテキストを入力するだけで、入力したテキストが表示されるようになります。
(※この方法だと、自動翻訳が適用されなくなります。適用されるようにする方法はまた今度ということで・・・)
また『the_content』タグには、HTMLタグやHTMLエンティティを書くこともできます。
それなので、画像を表示したり、CSSを適用したり、♥を表示したりすることができます。
// 『the_content』タグにHTMLタグやHTMLエンティティを書く <?php the_content( '<span class="moreLink">もっと読む?♥</span>' ); ?>
『the title』タグを使用すると、記事のタイトルを表示することだってできます。
// 『the_content』タグに『the title』タグを使用する
<?php the_content( '' . the_title('', '', false) . 'をもっと読む?' ); ?>
▼記事ごとに『続きを読む』を好きなテキストに変更する方法
上で紹介した方法だと、全ての『続きを読む』にカスタマイズが適用されます。
今回の記事だけは『続きが気になる?』と表示したい場合などは、記事の中に書かれている『<–!more–>』を以下のように書き換えます。
// 今回の記事だけ『続きが気になる?』に変更する方法 <--!more 続きが気になる?-->
『<–!more–>』のmoreのあとに好きなテキストを入力するだけで、記事ごとに好きなテキストを表示することができます。
以上が『<–!more–> を使った「続きを読む」をカスタマイズする』方法です。
WordPressバージョン 2.7.1以下を使用している方や、もっと詳しく知りたい方は、WordPress 日本語ローカルサイト 「続きを読む」のカスタマイズをご覧下さい。
コメント
1. RYUJI 2011 / 9 / 29 15:19
ありがとう!おかげでトップページすっきり!
2. yasigani-ni 2011 / 9 / 29 15:38
お力になれて嬉しいです^^
3. 佐藤 2012 / 5 / 3 15:05
こんにちは、を使うと、画像まで抜き出されるのですが、これを回避する方法はありませんか?
抜き出すのはテキストのみでOKです。
お願いいたします。
4. yasigani-ni 2012 / 8 / 7 14:45
すごい遅れた返信ですいません。。。
今度、時間があるときに投稿しますね!