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 プログラミング

【簡単】WordPressでテーマ内のファイルURLを取得する方法

2022.04.13
272
WordPress

【WordPress】カテゴリ一覧で記事数を取得する方法

2022.05.31
227
WordPress プログラミング

カスタム投稿タイプのターム(カテゴリー)の初期設定を変更する方法

2022.04.01
548
WordPress

WordPressの固定ページに抜粋項目を追加する方法

2022.05.18
109