【自分用メモ・WordPress】カスタム投稿の詳細ページをリダイレクトさせる

自分用メモ。下記のような場合に使用する。

・カスタム投稿を作成した際、「一覧ページはいるけど、詳細ページは必要ない」という場合に使用する。

スポンサードサーチ

コード

コードは下記の通り。functions.phpに記入する。

function custom_post_redirect() {
  if(is_singular('sample')) {
    wp_safe_redirect(home_url('sample'));
    exit;
  }
}

add_action('template_redirect', 'custom_post_redirect', 1);

・「template_redirect」フックを使用して、使用するテンプレートを決定する前に実行する。

・「is_singular()」を使って、特定のカスタム投稿のみで実行するように設定。上記の例では「sample」というカスタム投稿を作成している。

・「wp_safe_redirect()」で、リダイレクト先を決定。上記の例は「sample」の一覧は「http://xxxxx/sample」で表示される。

・「wp_safe_redirect()」は自動的にexitしないため、「exit;」を記述して終了させる。

おわりに

他の場面でも使用できると思うので、今後追記する可能性あり。