Sana bir ipucu vereyim.
Eğer bir sayfada birden fazla Query çalıştıracaksan ( Hem blog yazılarını hem normal yazılarını anasayfada listeliyorsun gibi) her zaman new WP_Query kullan, sonunda da wp_reset_postdata(); ile globali sıfırlarsın.
Tek sorgu varsa query_posts() + wp_reset_query(); kullanırsın. Fakat query_posts ana sorguyu modifiye ettiği için pre_get_posts ile ana sorgu çalışmadan bu sorguyu hazırda bekletirsin. Daha doğrusu sıraya sokarsın, o zaman sorun çıkmaz.
Anlatabildimmi bilmiyorumama https://developer.wordpress.org/reference/hooks/ buradan hepsine baksan daha iyi olur. https://developer.wordpress.org/reference/functions/ diğer tüm fonksiyonlar da burada.
Burası da güzel bir kaynak: https://adambrown.info/p/wp_hooks/hook