1
2013
Ana Sayfada Bazı Kategorileri Göstermeme/Gizleme
WordPress sitemizin ana sayfasında sitede yayınlanmış bütün yazılar gösterilir. Ancak bizler bazı kategorileri farklı amaçlar için kullanırız ve bu kategorideki yazıların ana sayfada görünmesini istemeyiz.
Bunu yapmak için aşağıdaki kodu temanızın functions.php dosyasına kendinize göre düzenleyerek eklemeniz yeterli.
function yakuphoca_kategorinin_yazilarini_gizle($query) { if ( $query->is_home() ) { $query->set('cat', '-5, -27'); } return $query; } add_filter('pre_get_posts', 'yakuphoca_kategorinin_yazilarini_gizle');
Kod içerisindeki 5 ve 27 sayıları, gizlemek istediğimiz kategorileri ifade eder. Ancak bu kodda şöyle bir durum var, eğer ana sayfanızda sadece yazıları değil, örneğin yan menüde son yorumlanan yazıları ya da popüler yazıları da listeliyorsanız, hala ana sayfada olacağınızdan is_home() fonksiyonu true değerini döndürecek ve o yazı listelerinden de kategorileriniz gizlenecektir.
Eğer bunu istemiyorsanız, yani sadece ana sayfada listelenen yazılardan kategorilerinizi gizlemek istiyorsanız, yukarıdaki kodu aşağıdakiyle değiştirin.
function yakuphoca_kategorinin_yazilarini_gizle($query) { if ( $query->is_main_query() && $query->is_home() ) { $query->set('cat', '-5, -27'); } return $query; } add_filter('pre_get_posts', 'yakuphoca_kategorinin_yazilarini_gizle');
Kod içerisindeki is_main_query() fonksiyonu sadece ana sorgu içerisinden bir istek olmuşsa true değerini döndürür. Böylece yan menüdeki yazı listeleri kodumuzdan etkilenmemiş olacak.