Тема вроде как и решена, но не совсем корректно. Оставлю для будущих поколений.
dm: если конкретно этот, основной цикл надо видоизменить, то делается это так:
function my_modify_query( $query ) {
// это главный запрос, мы не в админке, мы на архивной странице
if ( $query->is_main_query() && ! is_admin() && is_archive() ) {
// конкретный пост по его ID
$query->set( 'post__in', array(345) );
// Устанавливать можно любые свойства объекта WP_Query
}
}
add_action( 'pre_get_posts', 'my_modify_query' );
Документация:
на WordPress Codex (англ).
на WP-Kama (рус)