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です。
以上で解説を終わります。
目次