WordPress’de bir query yazdığımızda otomatik olarak sayfaya göre sorgu döndürüyor. Fakat biz home page sayfasında custom post type döndğrmek istiyoruz. 4 tane en son eklemiş olduğumuz portfolio itemini listelemek istiyoruz. İşte böyle durumlarda custom query kullanıyoruz.
Bu video gayet iyi açıklıyor: https://www.udemy.com/course/become-a-wordpress-developer-php-javascript/learn/lecture/7291138#search
Bu yazı da gayet iyi açıklıyor. Ek olarak varolan bir query nasıl manipüle edilir gösteriyor. Child theme ile ana temadaki bir sorguyu değiştirebilirsiniz: https://premium.wpmudev.org/blog/creating-custom-queries-wordpress/
pre_get_posts ile query manüpüle etme. Admin kontrolü de yapmak gerekiyor ve hangi post type’ı yapacaksanız onu ifletmeniz gerekiyor.
function university_adjust_queries($query) {
if (!is_admin() AND is_post_type_archive('event') AND $query->is_main_query()) {
$today = date('Ymd');
$query->set('meta_key', 'event_date');
$query->set('orderby', 'meta_value_num');
$query->set('order', 'ASC');
$query->set('meta_query', array(
array(
'key' => 'event_date',
'compare' => '>=',
'value' => $today,
'type' => 'numeric'
)
));
}
}
add_action('pre_get_posts', 'university_adjust_queries');
Her query sonunda aşağıdaki kodu eklememiz lazım
wp_reset_postdata();