テンプレートタグ:固定ページに投稿記事一覧を表示する
固定ページで記事一覧を表示させたいときがあると思います。
そんな時は下記のように書くことで実現できます。
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
<div class=“blog-inner”>
<?php
global $post;
$args = array( ‘posts_per_page’ => 8 );
$myposts = get_posts( $args );
foreach( $myposts as $post ) {
setup_postdata($post);
?>
<div class=“blog-card”>
<figure>
<p class=“photoThumb”>
<a href=“<?php the_permalink() ?>“>
<?php if(has_post_thumbnail()): ?>
<a href=“<?php the_permalink(); ?>“>
<?php the_post_thumbnail(‘index_thumbnail’); ?>
</a>
<?php else: ?>
<a href=“<?php the_permalink(); ?>“><img src=“/dist/images/noimage.gif” alt=“no image”></a>
<?php endif; ?>
</a>
</p>
<figcaption>
<dl>
<dt><?php the_time(‘Y.m.d’) ?> <span class=“blog-cat”><?php the_category(‘|’) ?></span> </dt>
<dd>
<a href=“<?php the_permalink() ?>“>
<?php the_title(); ?>
</a>
</dd>
</dl>
</figcaption>
</figure>
</div>
<?php
}
wp_reset_postdata();
?>
</div>
|
こちらはサムネイル、記事タイトル、リンクURLを取得しています。これを貼り付けるだけですぐに使えます。
記事のサムネイル画像が設定さてないときは、noimage.gifを表示させています。
表示させる記事数を変更する
$args = array( ‘posts_per_page’ => 10);
これを書くことで最新の記事を10件表示させるという意味になります。また0にすると全てが表示されます。
特定の記事だけ表示する
特定のカテゴリやスラッグをつければ好きなカテゴリーだけを表示させると行ったことも出来ます。
<dl>
<?php
$newslist = get_posts( array(
‘category_name’ => ‘news’, //特定のカテゴリースラッグを指定
//’tag’ => ‘slug’, //特定のタグスラッグを指定
//’post_type’ => ‘slug’, //特定のカスタム投稿タイプスラッグを指定
//’taxonomy’ =>’slug’, //特定のカスタムタクソノミースラッグを指定
//’term’ =>’slug’, //特定のカスタムタクソノミー内のタームスラッグを指定
//’terms’ => array( ‘slug1’, ‘slug2’ ), //特定のカスタムタクソノミー内のタームスラッグを複数指定
‘posts_per_page’ => 5 //取得記事件数
));
foreach( $newslist as $post ):
setup_postdata( $post );
?>
<dt> <?php the_time(‘Y年n月j日’); ?></dt>
<dd>
<a href=“<?php the_permalink(); ?>“>
<?php the_title(); ?>
</a>
</dd>
<?php
endforeach;
wp_reset_postdata();
?>
</dl>