почему pre_get_posts не работает

function include_category( $query ) { if ( $query->is_home() && $query->is_main_query() ) { $query->set( 'cat', '3' ); } } add_action( 'pre_get_posts', 'include_category' ); 

Я помещаю этот фрагмент кода в свой index.php, который управляет главной страницей. Я хочу показать только категорию 3 на главной странице. Я использовал query_post, пока не понял, что это не самый эффективный способ делать что-то.

Код должен работать, но это не так. Любые идеи или предложения будут приятными. Благодарю.

Или, если есть способ сделать это с помощью wp_query. Каким будет фрагмент кода для этой функции? Я был в этом часами. Я не мог заставить это работать.