IT

WordPress固定ページに投稿記事一覧を表示する

テンプレートタグ:固定ページに投稿記事一覧を表示する

固定ページで記事一覧を表示させたいときがあると思います。
そんな時は下記のように書くことで実現できます。

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>

お問い合わせフォーム

気になる方はコチラからお問い合わせ!

    必須お名前
    必須メールアドレス
    必須郵便番号
    必須ご住所
    必須電話番号
    ご相談内容
    必須メッセージ本文

    コメントを残す

    *