CODEMemorandum

【WordPress】特定のカスタム投稿タイプのシングルページを非表示にする

FAQのページで、アーカイブページにQとAの一覧を表示する構成にしてシングルページが不要になる場合などに、シングルページを表示させない方法のメモ。

404にする場合

functions.phpに以下を追加するとシングルページを無効化(404)できます。

add_filter( ‘カスタム投稿タイプのスラッグ_rewrite_rules’, ‘__return_empty_array’ );

別ページへリダイレクトする場合

404にせずに同じサイト内の別のページにリダイレクトさせたい場合はwp_safe_redirectで。
wp_safe_redirectのデフォルトのステータスコードは302なので、恒久的な移転の場合は301を指定します。

//特定のカスタム投稿タイプのシングルページをトップページへ301リダイレクト
function custom_redirect() {
  if( is_singular( 'カスタム投稿タイプのスラッグ' ) ){
    wp_safe_redirect( home_url(), 301 );
    exit();
  }
}
add_action( 'template_redirect', 'custom_redirect' );