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タグをいれましょう。
以上で解説を終わります。
目次