Belirli Kategorileri Anasayfadan Hariç Tutma (WordPress)

Belirli Kategorileri Anasayfadan Hariç Tutma (WordPress)

WordPress’in sunduğu esneklik sayesinde ana sayfanızda hangi içeriklerin yer alıp almayacağını belirlemek oldukça zahmetsizdir. Belirli kategorileri ana sayfa akışının dışında tutarak sitenizin odak noktasını netleştirebilir, gizli kalmasını istediğiniz içerikleri saklayabilir ya da ziyaretçilerinize sadece öne çıkarmak istediğiniz konuları sunabilirsiniz. Bu rehberde, bu adımı farklı yöntemlerle nasıl hayata geçirebileceğinizi adım adım ele aldık.

Kategorileri ana sayfadan kaldırmak için izleyebileceğiniz üç temel yaklaşım bulunuyor: kod düzenlemeleri, eklenti kullanımı ve tema ayarları. İhtiyacınıza ve teknik deneyiminize en uygun yöntemi rahatlıkla seçebilirsiniz.

1. functions.php ile Kategorileri Ana Sayfadan Hariç Tutma

Herhangi bir eklentiye ihtiyaç duymadan doğrudan WordPress’in altyapısını kullanan bu yöntem, performans açısından en temiz ve SEO dostu çözümdür. pre_get_posts kancası (hook) sayesinde veritabanı sorgusu henüz çalışırken kategoriyi filtrelersiniz.

⚠️ Önemli Uyarı: Kod ekleme işlemine geçmeden önce mutlaka sitenizin yedeğini alın. Tema güncellemelerinde yazdığınız kodların kaybolmaması için işlemleri bir Child Theme (Alt Tema) ya da Code Snippets benzeri bir eklenti üzerinden yapmanızı öneririz.

İstediğiniz kategoriyi (veya birden fazlasını) ana sayfadan gizlemek için temanızın functions.php dosyasına şu kodları eklemeniz yeterlidir:

function custom_exclude_category_from_home($query) {
if ($query->is_home() && $query->is_main_query() && !is_admin()) {
$query->set('cat', '-5'); // '-5' yerine gizlemek istediğiniz kategori ID'sini yazın. Birden fazla kategori için araya virgül koyabilirsiniz: '-5,-7'
}
return $query;
}
add_action('pre_get_posts', 'custom_exclude_category_from_home');
  • Sadece Tek Bir Kategoriyi Göstermek İsterseniz: Kod içerisindeki ID’nin başındaki eksi (-) işaretini kaldırmanız yeterlidir (örneğin -5 yerine 5 yazın). Bu durumda sistem diğer tüm kategorileri otomatik olarak gizler ve yalnızca seçtiğiniz kategorideki yazıları ana sayfada listeler.
  • Kategori ID’si Nasıl Bulunur? WordPress panelinizden Yazılar > Kategoriler sekmesine gidin. Düzenlemek istediğiniz kategorinin üzerine tıklayın; tarayıcınızın adres çubuğundaki (URL) tag_ID= ifadesinin yanındaki sayı o kategorinin ID değeridir.
>>  WordPress Log Kayıtları Nasıl İzlenir?

# WooCommerce Mağaza Sayfasında Kategori Gizleme

Eğer bir e-ticaret siteniz varsa ve WooCommerce mağaza (shop) sayfasından belirli ürün kategorilerini gizlemek istiyorsanız, özel veritabanı filtreleri kullanmanız gerekir. Aşağıdaki fonksiyon ile belirlediğiniz ürün kategorisini mağaza akışından çıkartabilirsiniz:

function hide_product_category_on_shop( $q ) {
    if ( ! is_admin() && $q->is_main_query() && ( is_shop() || is_post_type_archive('product') ) ) {
        $tax_query = (array) $q->get('tax_query');
        $tax_query[] = array(
            'taxonomy' => 'product_cat',
            'field'    => 'slug',
            'terms'    => array( 'gizli-kategori' ), // Buraya gizlemek istediğiniz kategorinin kısa adını (slug) yazın
            'operator' => 'NOT IN',
        );
        $q->set( 'tax_query', $tax_query );
    }
}
add_action( 'pre_get_posts', 'hide_product_category_on_shop' );

2. Eklenti Yardımıyla Kategorileri Gizleme

Kodlarla vakit kaybetmek istemiyorsanız, bu işi birkaç tıklamayla halleden pratik eklentilerden yararlanabilirsiniz:

  • Ultimate Category Excluder: Kategorileri ana sayfa, arşiv, RSS beslemesi veya arama sonuçlarından ayrı ayrı hariç tutmanızı sağlar.
    • Nasıl Kullanılır? Yönetici panelinden Eklentiler > Yeni Ekle kısmına gelin, eklentiyi aratıp kurun ve etkinleştirin. Ardından eklenti ayarlarına (genellikle Araçlar veya Ayarlar altındadır) geçerek gizlemek istediğiniz kategorinin yanındaki Ana Sayfa (Front Page) kutucuğunu işaretleyip kaydedin.
  • WP Hide Post / Hide Posts: İçerik bazlı kontrol imkanı sunar; tek tek yazıların ana sayfada, arşivde veya arama sonuçlarında görünüp görünmeyeceğini seçebilirsiniz.
  • Search Exclude: Arama sonuçlarını temiz tutmak ve belirli içeriklerin aramalarda çıkmasını engellemek için idealdir (doğrudan ana sayfaya etki etmez).

3. Tema ve Sayfa Yöneticisi Ayarlarıyla Kategori Hariç Tutma

Modern temaların ve sayfa oluşturucuların (Page Builder) birçoğu, kod yazmaya gerek kalmadan panel üzerinden filtreleme yapmanıza izin verir.

Genel Hazırlık: Canlı sitenizde işlem yapmadan önce yedek almayı unutmayın. Ana sayfanızın nereden yönetildiğini tespit edin: Özelleştir (Customize) menüsü mü, özel bir sayfa şablonu mu, yoksa Elementor/Divi gibi bir sayfa oluşturucu mu? İşlemler bittikten sonra önbelleğinizi (Cache) temizlemeyi ihmal etmeyin.

>>  WordPress Siteye Canlı Destek Sistemi Ekleme

# Elementor (Elementor Pro – Posts / Loop Grid)

  1. Ana sayfanızı Elementor ile düzenleme modunda açın.
  2. Yazıları listelediğiniz Posts veya Loop Grid bileşenine tıklayın.
  3. Sol panelden Content > Query sekmesine gidin.
  4. Exclude > Term adımlarını izleyerek görünmesini istemediğiniz kategorileri seçin ve sayfayı güncelleyin.

# Divi (Divi Builder / Divi Blog Module)

  1. Sayfayı Visual Builder ile açıp Blog modülü ayarlarına girin.
  2. Content > Elements / Categories alanından yalnızca görünmesini istediğiniz kategorileri işaretleyin.
  3. Hariç tutmak istediğiniz kategorileri seçimsiz bırakarak ana sayfa akışının dışında kalmalarını sağlayabilirsiniz.

# Avada (Blog Element / Fusion Builder)

  1. Avada Düzenleyicisi içinde ana sayfanızdaki Blog Element veya Recent Posts bileşenini açın.
  2. Bileşen ayarlarında yer alan Exclude Categories alanından gizlemek istediğiniz kategorileri işaretleyip değişiklikleri kaydedin.

# Gutenberg – Query Loop (Blok Temaları)

  1. Site Düzenleyicisi’nde ana sayfadaki Query Loop (Sorgu Döngüsü) bloğunu seçin.
  2. Sağ taraftaki blok ayarlarından Query veya Filtreler sekmesini açın.
  3. Eğer temanız “Kategorileri Hariç Tut” seçeneğini destekliyorsa ilgili kategoriyi seçin. Desteklemiyorsa, sadece görünmesini istediğiniz kategorileri dahil ederek (Include) tersine filtreleme yapabilir ya da Kadence Advanced Query Loop gibi gelişmiş blok eklentilerinden faydalanabilirsiniz.

Teknoloji ve internet dünyasına dair bilgiler, yapay zeka, yazılım, internet güvenliği ve dijital dünyaya yönelik rehber içerikler...