WordPressにおいて、authorなどの普段あまり使わないアーカイブページへのアクセスに対して、404を返す方法です。
WordPress不要なアーカイブを404にする方法
WordPressで、サイトが、メディアサイトでもない限り、authorアーカイブはあまり使いませんよね。基本的に放置でもそれほど問題ないはずですが「なぜか検索結果で目立つところにでてきてしまう!」など、どうしても非表示にしたい場合に利用できます。
add_action( 'parse_query', 'disable_some_archives');
function disable_some_archives() {
if ( is_author() || is_tag() || is_date() || is_month() || is_year() ) {
global $wp_query;
$wp_query->set_404();
status_header( 404 );
get_template_part( 404 );
exit;
}
}
注意事項です。
- headerを書き換えますので、disable_some_archivesは、必ずまだ何もテキストが出力されていない時に実行して下さい。
- is_xxx が正確に使えるのは parse_queryアクションが実行された後です。よってfunction内にかく時は、上記のように、actionフィルターで実行して下さい。