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

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

Ads

関連記事

HTMLCSS JavaScript プログラミング

一枚画像に複数のリンクを場所指定して設置する方法【レスポンシブ対応】

更新日:2020.03.23
206
プログラミング

多種・多様なスクロールアニメーションを実装するならAnimate.css!使い方を解説

2022.04.27
116
WordPress

現在開いてる子カテゴリーページで親カテゴリを親子階層順に全て取得する方法【WordPress】

更新日:2022.05.07
55
WordPress

WordPressの投稿一覧で、最初もしくは最後の記事かを判別する方法

2022.06.23
38