4月 072011

<?php the_excerpt(); ?>

とすることで、記事本文内から抜粋した内容を表示することができます。

デフォルトでは、文字数は110文字で、文末には「…」が自動的に付与されます。

これは抜粋として110文字の文章を予め用意していなくても、自動的に記事の本文から記事前半部分をWordPressが勝手に抜粋してきてくれます。

ただ、110文字は多すぎる。。。

というときもあると思います。

以下のようにすることで、文字数をコントロールすることができます。

<?php echo mb_substr(get_the_excerpt(), 0, 30); ?>

<?php the_excerpt(); ?> の代わりに、上のように記述するだけです。

ここでは30文字としています。この30を100に切り替えれば100文字となります。

本ブログではコレを少し応用して、

2011-04-07_225527

このように、続きを見るのリンクを表示させています。

「続きを読む」もただの続きを読むではなくて、「タイトル+続きを読む」としています。

更にはそのリンクに表示されるタイトルにも文字制限をかけています^^

この文字制限のかけ方は、

<?php
$title= mb_substr($post->post_title,0,40); echo $title;
?>

こんな風にしています。40文字までに制限している、ということになります。

mb_substr() は文字数を指定して文字列を取り出すことができます。

mb_substr(文字列,何文字目から取り出すか,何文字取り出すか)

という感じで指定します。

まとめますと、

  • 抜粋の文字数は100
  • 続きを読むのリンク表示
  • 続きを読むの前のタイトル文字数は40

という内容になり、それを実現すると、

<?php
echo mb_substr(get_the_excerpt(), 0, 100);//抜粋の文字数を設定
$title= mb_substr($post->post_title,0,40);//タイトルの文字数を設定
?>
<p>
    <a href=”<?php the_permalink() ?>” title=”<?php the_title(); ?>”>
        &raquo;<?php echo $title; ?>…の続きを読む
    </a>
</p>

これで、本ブログの先ほどの画像のような表示になります。

これはどんなときに使うのか?

WordPress のテンプレートファイルには、

  • index.php(トップページの表示)
  • search.php(検索結果の表示)
  • archive.php(年・月・日の表示)
  • category.php(カテゴリ別の表示)

このように同じ形式のものがあり、デフォルトのままですと、記事タイトルと本文が新しい順に上から並んで表示されます。

SEO的にいうと、同じページが複数存在することは嫌いますから、同じ出力方法にしておくと、ひょんなことから検索エンジンに嫌われるかもしれません。

ユーザビリティー的にいっても、記事数が増えてきたら、アーカイブや検索結果は記事タイトルのみで本文は一覧には載っていない方が調べやすいと思います。

また、あるカテゴリーでは、マニュアル系のものを作っていて最新順では無く、古い順から表示させたいものもあるかもしれません。

そのときに、今回紹介した方法と前回書いた記事(アーカイブやカテゴリーの1ページあたりの表示件数をプラグインを使わずに変更する方法(query_posts関数) WordPress de SEO をやろう!)などを各テンプレートファイル別に異なった記述をすることでサイトにもオリジナリティーが出てくると思います。

またそれは内的SEO上も沢山のページを認識することになりなり良いとされています。

こんな感じで活用するのが宜しいかと思います。


関連記事

Trackback URL

管理者承認後に公開されます。リンクと感想は必須でお願いします

Posted by admin
QLOOKアクセス解析