ワードプレスで特定のカスタムポストの最新の記事をリンク付きで10件表示するPHPコードをご紹介いたします

PHPコードの例

このコードはテーマの任意の個所に挿入いただくと動作します。

<ul class="postlists">
  <?php
    $args = array(
      'post_type' => 'カスタム投稿のスラグ',
      'posts_per_page' => 10,
      'ignore_sticky_posts'  => 1,
      'paged' => 1,
    );
    $wp_query = new WP_Query($args);
    if(have_posts($wp_query)):
    while (have_posts()) : the_post();
  ?>
  <li class="postlists_item">
    <a href="<?php the_permalink(); ?>">
        <span class="content_date"><?php echo get_the_date('Y.m.d', '', ''); ?></span>
        <span class="content_title"><?php echo mb_strimwidth(get_the_title(), 0, 100, "..."); ?></span>
    </a>
  </li>    
    <?php endwhile; ?>
    <?php endif; ?>
</ul>

このコードで行っている事

上記コードはul liのタグで、任意のカスタム投稿タイプの最新の記事を、日付とその記事のタイトルを出力し、記事本体へのリンクを付与するコードです。

new WP_Query に下記の4つのパラメータを取得し、記事を取得します。

‘post_type’ => ‘カスタム投稿のスラグ’,
‘posts_per_page’ => 取得する記事数,
‘ignore_sticky_posts’ => 固定記事を無視する,
‘paged’ => 最初「最新」の1ページの記事を取得する,

この記事一覧をwhile (have_posts()) : the_post(); ループで次から次にリンク付きでliタグの中に出力します。

the_permalink() は記事の本体へのリンクURLになります

get_the_date(‘Y.m.d’, ”, ”) は任意のフォーマットで記事の公開日時を出力します

get_the_title()で取得した記事のタイトルを、mb_strimwidth で100文字以上の場合は文字列を削って出力します。

ご参考になりましたら幸いです。

WordPress ワードプレスのテーマのカスタマイズや修正のご依頼・ご相談はWPドクターまでお気軽にお送りください