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タグをいれましょう。

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

目次

関連記事

PHP プログラミング

Use of undefined constant campaign – assumed ‘文字列'(this will throw an Error in a future version of PHP) inエラーがでる場合の対処方法

2022.01.29
2328
WordPress

【WordPress】特定のタクソノミー・タームだけテンプレートを分ける方法

2022.07.08
3620
HTMLCSS プログラミング

【簡単】CSSで数字を縦向き・縦書きにする方法【text-orientation: upright;】

2022.04.06
6516
WordPress プログラミング

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

2021.11.01
2111