Twenty Eleven トップページの記事一覧を抜粋表示にする

Twenty Elevenではデフォルトでトップページの記事一覧が全文表示になっています。表示する件数にもよりますが、長々と表示されても見づらいのでここは抜粋表示にしておきたいですよね!単純に関数を変更する方法と自分でfunction.phpに関数を追加する方法を両方紹介します。

スポンサーリンク

the_contentをthe_excerptに変更

Present Noteさんの「トップページを抜粋記事の一覧表示にする-WordPress Twenty Eleven篇-」を参考にしました。

content.php内の40行目あたりにある「the_content」を「the_excerpt」に変更するだけです。

ただ私の場合、WP Multibyte Patchというプラグインの影響なのか、上手くいきませんでした。。。the_excerptが反映されている場合、抜粋内はhtmlタグと画像を取り除いたテキストのみが表示されるようなので、テキストのみになっているということはthe_excerptも何かしら効いてはいるのでしょうが、肝心の抜粋文字数が反映されていないので意味がありません。 こういう状態です。。。

そこで見つけたのがWebデザインレシピさんの「WordPress のよくあるカスタマイズコード functions.php 多め」です。(いつもお世話になってます。。。)

function.phpにmy_excerpt関数を追加

下記のコードをfucntion.phpに追加すればmy_excerpt関数が使えるようになります。

function my_excerpt( $length ) { global $post; $content = mb_substr( strip_tags( $post -> post_content ), 0, $length ); $content = $content . "..."; return $content; }

今回はサムネイルの高さに合わせて抜粋表示をしたかったので<?php echo my_excerpt(120); ?>として120文字に設定してcontent.phpに記述したところ、無事に抜粋表示に切り替わりました!

「続きを読む」リンクを追加

せっかくなので「…」の後に「続きを読む」リンクもつけてみたくなりました。

my_excerpt関数の前に説明されているthe_excerpt_more関数を参考にして「…」の後に<a href=”‘. get_permalink($post -> ID) . ‘”>続きを読む</a>を追加しました。テンプレートタグget_permalinkで投稿記事のIDを引っ張ってきてaタグに貼り付けるということですね。

テンプレートタグの前後に「. (ドット)」が無いとphpとして認識されないので気をつけましょう(>_<)

これでいちいちmoreタグを追加しなくて済みます♪ まだまだphpは(cssもですが…)慣れない部分が多くて、自分で関数を作るところが難しいです(>_<)

でもこれができるようになればカスタマイズの幅がすごく広がると思うので、引き続き勉強します^^

では、Ryo(@nydewebdesign)でした♪

スポンサーリンク

 

シェアする

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

フォローする