Written by Kasumi

WordPress投稿ページ内の関連・その他記事一覧で現在のページを除外する方法【wp_query】

wp_query関数を使ってWordPressの投稿ページ内に関連・その他記事一覧を出力している。

現在開いてる投稿ページを関連・その他記事一覧から除外したい。

本記事ではこのような悩みを解決します。

現在のページを記事一覧から除外するwp_query

<?php
$args = array(
  'post_type' => 'post', //投稿タイプを指定、デフォルトはpost
  'posts_per_page' => '-1', //何件表示するか(-1は全件表示)
  'post__not_in' => array(get_the_ID()),//現在開いてる記事を除外
);
$the_query = new WP_Query($args);
?>
<?php if ($the_query->have_posts()) : ?>
  <?php while ($the_query->have_posts()) : $the_query->the_post(); ?>
    <!-- ループ内容 -->

  <?php endwhile; ?>
<?php else : ?>
<?php endif; ?>

上記が現在開いてるページを除外するコード例です。

記事を除外するにはpost__not_inパラメータをwp_query関数に追加します。

get_the_ID関数を使う事で現在開いてる記事の固有IDを取得。

後はpost__not_inの値にget_the_IDを入れて上げればOKです。

以上で現在開いてるページの記事を除外する事ができます。

まとめ

現在開いてるページ以外にも除外したいページがある場合はpost__not_inの値をarrayで囲い、コンマで除外したい記事IDを区切ればOKです。

以上で解説を終わります。

目次

関連記事

WordPress プログラミング

【簡単】wordpressのショートコードを使って、投稿記事内にphpファイルを呼び出す方法

2022.02.04
2606
WordPress

【WordPress】投稿記事の本文を文字数制限して表示する方法

2023.05.28
1017
WordPress プログラミング

【wordpress】子カテゴリページで親カテゴリの情報を取得する方法

2021.11.01
2111
WordPress

【WordPress】ターム一覧を表示する方法【結論:get_termsを使おう】

2022.05.28
3790