🧊

WordPressで記事の「続きを読む」をカスタマイズ

どうにもこうにもやりたいことができなかったのですが、とりあえず結論として。

続きを読むはブロック要素で装飾して置きたいとか、そういう場合に自前で続きを読むを出力します。

the_contentの場合

<?php the_content('続きを読む'); ?>

の代わりに、

<?php the_content('',FALSE,''); ?>
<span class="more-link"><a href="hoge">続きも読んでー!</a></span>

この第二引数でいれたFalseが、表示・非表示をコントロールするらしい。
ちなみに第一引数は続きを読むの「文面」で、第三引数は「遷移先」だそうな。

第一引数にspanタグとかいれてブロック要素に・・とやってみても、結局は続きを読むもリンクなので、aタグに囲まれて出てくる。
それがイヤでどうしようかなーというところでした。

ただ結局はリンクなら自分で書けばいいんでは?ということで、自分で書く。
なら、デフォルトのやつはいらないので非表示に。

the_excerptの場合

どうやらこいつでもできる模様。

<?php the_excerpt(); ?>

これで抜粋:投稿時にmoreを入れる手前までが改行なしで出力されます。
引数は取らず、デフォルトでは続きを読むリンクは出力されません。
なので、

<?php the_excerpt(); ?>
<span class="more-link"><a href="hoge">続きも読んでー!</a></span>

hogeには記事のパーマリンクでも設定すればOK!

ちなみに

excerptで表示される抜粋の文字数を設定するフィルターがあるみたいです。
例のごとくfunctions.phpに、

function new_excerpt_length($length) {	
     return 20;	
}	
add_filter('excerpt_length', 'new_excerpt_length');

これで20文字まで表示させます。
ただ文字数は標準では110だとか日本語はダメだとかマルチバイトがどうだとか、詳しいことは↓を。

参考:テンプレートタグ/the excerpt - WordPress Codex 日本語版

結局?

ブログのトップページとか、記事の見出しを使うにも改行などは反映させたい!って場合は、有無をいわさず前者:the_contentを使う、と。