Written by Kasumi

wordpressで特定のページを非表示にし404ページへリダイレクトする方法

特定のページ(投稿ページ・アーカイブページ・カテゴリーページ等)を非表示にしたい。

このような悩みを解決致します。

本記事では、wordpressのアクションフックを使い、特定のページを404ページへリダイレクトすることで非表示にする方法について解説致します。

functions.phpにコードを記述

//-----------------------------------------------------
// 特定のページを404ページへリダイレクト
//-----------------------------------------------------
add_action( 'template_redirect', 'status404' );
function status404() {
  if ( is_singular(array('非表示にしたい投稿タイプ')) ) {
    global $wp_query;
    $wp_query->set_404();
    status_header(404);
  }
}

wordpressアクションフックのtemplate_redirectを使うことで、特定のページを404ページへリダイレクトできます。

上記phpコード内のif()内を非表示にしたい特定ページの条件分岐式に変更してください。

is_singular(array('post'))

デフォルト投稿タイプを非表示にしたいなら上記コード

is_archive()

アーカイブページを非表示にしたいなら上記コード

is_category()

カテゴリーページを非表示にしたいなら下記コード

任意の条件分岐式に変更したら、functions.phpに記述しましょう。

以上で非表示になり、404ページへリダイレクトされてるかと思います。

まとめ

投稿タイプで、アーカイブページしか使ってなく、投稿詳細ページはいらないという時に便利です。

いらないページをそのままにしておくと検索エンジンにインデックスされてしまうので、本記事を参考に404へリダイレクトするか、noindexタグをいれましょう。

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

目次

関連記事

WordPress

子固定ページで親固定ページ情報を親子順に全て取得する方法

2022.05.07
765
WordPress

【contact form 7】エラーを検知したらその箇所まで自動スクロールさせる方法

2022.07.10
1255
WordPress

投稿タイプ記事を画像も含めて丸ごと移行する方法【簡単便利】

更新日:2019.11.28
569
WordPress プログラミング

【wordpress投稿】アイキャッチではなく最初の画像をサムネイルにする方法

更新日:2021.10.26
1339