pre_get_postsを利用して、特定の記事を一覧(アーカイブ)から除外する

普段どおりの書き方ですが、一つの記事だけを除外したい場合にもarrayで記述するというところがポイントです。

function ignore_selected_posts( $query ) {
	if ( is_admin() || ! $query->is_main_query() ) {
		return;
	}
	if ( $query-> is_archive( ) ) {
		$query->set( 'post__not_in', array('xxxxxx') );
	}
}


add_action( 'pre_get_posts', 'ignore_selected_posts' );

参考