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フィルターで実行して下さい。