アーカイブページ

register_post_type‘has_archive’ => false にする。

functions.php

register_post_type(
	'投稿タイプ',
	array(
		'has_archive' => false,
	)
);

Tips

固定ページを扉ページとして使用する場合は固定ページを作成し、post_type をスラッグにする。

タクソノミーアーカイブ

pre_get_posts フックを利用する。
ちなみに register_taxonomy で ‘public’  => false にしてしまうとフロントだけでなく管理画面からも消えてしまうので注意。

トップページにリダイレクトさせる場合

wp_safe_redirect を使う

functions.php

function my_redirect_xxx_taxonomy_archive_to_home() {
	if ( is_admin() ) {
		return;
	}

	if ( is_tax( 'タクソノミー名' ) ) {
		wp_safe_redirect( home_url(), 301 );
		exit;
	}
}
add_action( 'pre_get_posts', 'my_redirect_xxx_taxonomy_archive_to_home' );

404 にする場合

functions.php

function my_404_xxx_taxonomy_archive( $qry ) {
	if ( is_admin() ) {
		return;
	}

	if ( is_tax( 'タクソノミー名' ) ) {
		$qry->set_404();
	}
}
add_action( 'pre_get_posts', 'my_404_xxx_taxonomy_archive' );

投稿詳細ページ

template_redirect フックを利用する。( functions.php に記述 )

トップページにリダイレクトさせる場合

wp_safe_redirect を使う

functions.php

function my_redirect_xxx_single_to_home() {

	if ( is_admin() ) {
		return;
	}

	if ( is_singular( '投稿名' ) ) {
		wp_safe_redirect( home_url(), 301 );
		exit;
	}
}
add_action( 'template_redirect', 'my_redirect_xxx_single_to_home' );

アーカイブ & 投稿詳細ページ

register_post_type‘publicly_queryable’ => false’ を追加する。
該当ページにアクセスするとトップページにリダイレクトされるようになる。

補足

タクソノミーアーカイブはフロント表示されるが、投稿が表示されなくなる。

functions.php

register_post_type(
	'投稿タイプ',
	array(
		'publicly_queryable' => false,
	)
);

コメントを残す

メールアドレスが公開されることはありません。