速報

アララ メッセージで約301万件のメールアドレス流出|対象環境と配信への影響

CATEGORY

【WordPress】投稿IDを指定して特定の記事のみを表示する方法【WP_Query】

※本ページのリンクにはプロモーションが含まれています。

【WordPress】投稿IDを指定して特定の記事のみを表示する方法【WP_Query】

目次

本記事ではWordPressで投稿IDを指定して特定の記事のみを表示する方法をご紹介しています。

トップページやサイドバーなどで特定の記事をピックアップして表示したい場合などにご活用いただけるかと思います。

では、解説していきます。

スポンサーリンク

WP_Qyery()で投稿IDを指定して記事を取得する

WP_Queryで投稿IDを指定して記事情報を取得します。複数のIDが指定できるようにしておきます。

$args = array(
  'post_type' => 'post',
  'post__in' => array(1000, 1100, 1200, 1300),
  'post_status' => array('publish'),
  'order'=> 'asc',
  'orderby'=> 'post_date'
);
$query = new WP_Query($args);

上記のサンプルでは「1000」「1100」「1200」「1300」の投稿IDを持つ「公開済み」の記事を取得するように指定しています。ソートについては「投稿日」の「昇順」にしています。

WP_Query()では他にも多くのパラメータを指定することができます。Codexに詳しく記載がありますので、もっと細かく指定される場合は下記を参考に指定していただければと思います。

関数リファレンス - WP Query

WP_Qyery()で取得した記事情報を表示する

続いて前項で取得した記事をループして表示します。

出力する項目は「アイキャッチ画像」「」「カテゴリー名」「投稿日時」「投稿タイトル」の最低限必要なものだけを記載しています。

if($query->have_posts()):
      while($query->have_posts()):
        $query->the_post(); ?>

        <a href="<?php echo get_permalink(); ?>">
            
            <!-- アイキャッチ画像 -->
            <?php
                if ( has_post_thumbnail() ):
                    //記事に設定されているアイキャッチ画像を表示
                    the_post_thumbnail('thumbnail');
                else:
                    //アイキャッチ画像がない場合に表示する画像
                    echo 'No Image';
                endif;

                $cats = get_the_category();
                foreach($cats as $cat):
            ?>

            <!-- カテゴリー名 -->
            <span class="category">
                <?php echo esc_html($cat->name); ?>
            </span>
            <?php
                endforeach;
            ?>

            <!-- 投稿日時 -->
            <time class="date" datetime="<?php the_time('Y-m-d'); ?>"><?php the_time('Y.m.d') ?></time>

            <!-- 投稿タイトル -->
            <h3><?php the_title(); ?></h3>
        
        </a>
        <?php 
    endwhile;
else:
    echo '投稿はありません';
endif;
wp_reset_postdata();

?>

上記では最低限の項目だけを表示していますが、他にも出力できる項目は多くあります。

WP_Query()で取得することができる値につきましては下記の記事でまとめていますので、あわせてご参照いただければと思います。

スポンサーリンク

最後に

いかがでしたでしょうか。

WP_Query()での取得方法を知っておくことで、テンプレートタグにはない様々な方法で記事情報を取得することができるようになります。WP_Query()を制する者はするものはWordPressを制す! というのは言い過ぎですが、使い方に慣れておくことで提案がしやすくなりますので、どこかで時間を取って慣れておいて損はないかと思います。

以上、WordPressで投稿IDを指定して特定の記事のみを表示する方法のご紹介でした!

この記事を書いた人

Ryohei

Webエンジニア / アプリ開発者 / 技術ブログ運営者

福岡のWeb制作会社に勤務するWebエンジニアです。10年以上にわたりWeb制作・開発に携わり、ヒアリングや進行管理から、コーディング、CMSの構築、システム開発、サーバーの構築・保守・運用まで、Webサイト制作の工程を幅広く担当しています。Webサイトは、これまでに100以上の構築・保守を手がけてきました。

個人でもWebサイトの制作・改修やWebアプリの開発・運用を行い、AIを活用した開発にも取り組んでいます。近年はWebセキュリティにも注力しています。

2015年から技術メディア「Into the Program」を運営し、実務や開発で得た知識をもとに、プログラミングの実装方法やWebサイトの運用・セキュリティ情報を発信しています。

主な分野
Webサイト構築・保守・運用 / HTML/CSS / JavaScript / PHP / WordPress / サーバー構築・保守・運用 / アプリ開発 / セキュリティ対策
資格・試験合格
情報セキュリティマネジメント試験
基本情報技術者試験
AWS認定ソリューションアーキテクト アソシエイト
PHP8技術者認定ウィザード
メディア運営
2015年〜

記事の作成・更新について

セキュリティ記事は、ベンダーの公式アドバイザリやCVE・JVNなどの一次情報を参照し、出典と情報確認日を記載します。実環境での検証を行った場合は、その環境と確認範囲を明示します。重要な追加情報や誤りを把握した場合は、内容を確認して追記・訂正します。

関連する記事

おすすめの書籍

キーワードから探す

スポンサーリンク

パーマリンク

Webページごとに付けられる、変わらない前提のURL。WordPressでは記事のURLの形式を設定できる。

詳しく見る