DAINASHI YESTERDAY

2012.12.21

WordPressの記事一覧に記事の抜粋を表示させる

wp_img6-1200x800

以前、『Exec-PHP』などを使用して投稿や固定ページ内に特定カテゴリーの記事一覧を表示する方法について書きました。

今回はさらに、一覧表示した記事タイトルの下に、記事の抜粋を表示する方法をご紹介します。

サンプルコード

<?php
$posts = get_posts('numberposts=6&category=1');
global $post;
?>
<dl>
<?php
if($posts): foreach($posts as $post): setup_postdata($post); ?>
<dt><?php echo date('Y年n月j日'); ?>&nbsp;<a href="<?php the_permalink(); ?>">
<?php the_title(); ?>
</a></dt>
<dd>
<?php  the_excerpt(); ?>
</dd>
<?php endforeach; endif;?>
</dl>

「numberposts=6」のところの「6」は表示したい記事数を、「category=1」の「1」は表示したいカテゴリーのIDを入れてください。

今回は<dl>(定義リスト)を使い、記事タイトルを<dt>、記事抜粋を<dd>で囲ってみました。上記ソースの <?php the_excerpt(); ?> で記事の抜粋が表示できます。

記事抜粋の文字数を指定する

WordPressでは通常、記事の先頭110文字が抜粋されて表示されますので、もし文字数を指定したい場合は、使用しているテーマのfunction.phpファイルに下記ソースを書き足してください。

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//概要(抜粋)文字数指定
function exp_length($length)	{
return 100;
}
add_filter('excerpt_mblength','exp_length');

「return 100;」の「100」にご希望の文字数を入れてください。

※function.phpファイルを編集するときは、事前にバックアップをとるのを忘れずに!

抜粋の省略記号を変更する

あとついでですので書いちゃいますが、通常は抜粋のあとに「まだまだ続くよ」という意味で […] みたいのがつくと思います。ここの表記を変えたい場合はfunction.phpファイルに下記ソースを追加してください。

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//概要(抜粋)省略記号
function exp_more($more)	{
return '&nbsp;…';
}
add_filter('excerpt_more','exp_more');

「return ‘&nbsp;…’;」の「&nbsp;…」の部分が […] の代わりに表示されます。(&nbsp;は半角スペースです)

※function.phpファイルを編集するときは、事前にバックアップをとるのを忘れずに!(2回目)

以上、応用していろいろ試して頂ければと思います。それでは!

投稿者: