WordPress Ana Sayfadan Belirli Gönderileri Gizleme (3 Farklı Yöntem)

WordPress ana sayfadan bir gönderi nasıl gizlenir? Web sitenizin ana sayfasından belirli gönderileri gizlemek istiyorsanız, bunu nasıl kolayca halledebileceğinizi bu yazımızdan öğrenebilirsiniz.


Yazılarınızı ana sayfadan gizlemek için pek çok nedeniniz olabilir – sadece belirli kategorilere ait içerikleri sergilemek, sitenin hedef demografisinden biraz uzak bir içerik paylaşmak, hassas konuları kapsayan gönderilerin ana sayfada görünmesini önlemek, içeriğin tatmin edici olmadığını düşünmek vb.

Çoğu WordPress teması varsayılan olarak en son yayınları gösterir, ancak gönderilerinizi (makaleler, kategoriler  dahil) gizlemenize yardımcı olabilecek birkaç yöntem var.

WordPress Ana Sayfadan Belirli Gönderiler Nasıl Gizlenir?

1. Özel Ana Sayfa Düzenleme

Bir yazıyı WordPress ana sayfasından gizlemenin farklı yollarına da değineceğiz, ancak ilk olarak temanızın böyle bir kısa yol sunup sunmadığını kontrol edebilirsiniz. Bazı temalar özel ana sayfaya sahiptir ve bu ana sayfa ayarları içerisinde kategori, arşiv, gönderi vs. hariç tutma ayarları mevcut. (Aslında, genellikle bazı temalarla birlikte gelen sayfa oluşturuculara ait özellikler bunlar).

Örneğin; Jannah temasını kullanıyorsanız, Sayfalar>>Ana sayfa (veya özel ön sayfa) yolunu izleyin. Buradan, eklediğiniz bölümlere tek tek tıklayarak Genel sekmesi altından “Hariç Tut” kısmına gizlemek istediğiniz yazıların kimliğini girmeniz yeterli olur (Gönderi kimliklerini nasıl bulacağınızı da aşağıda açıkladık).

WordPress Ana Sayfadan Yazıları Hariç Tutma

Başka bir örnek; JNews teması üzerinden bu işlemi yapmak için Sayfalar>>Ön Sayfa‘ya gidin. Ön sayfa öğelerini düzenlemek için öğe ayarlarına geçin. İçerik Filtresi sekmesi altında bulunan “Gönderi Kimliğini Hariç Tut” kısmına gizlemek istediğiniz içerik kimliklerini girin ve kaydedin.

JNews Teması ile Yazıları Ana Sayfadan Hariç Tutma

Yukarıda gördüğünüz gibi, birçok temanın bu şekilde kısa yolları mevcut. Şimdi gönderi kimliklerinin nasıl bulunacağını da gösterelim.

WordPress ana sayfadan gizlemek istediğiniz gönderinin üzerine imleci getirin (yazı gizleyecekseniz Admin panelden yazılar bölümüne geçin.) İmleci hangi gönderinin üzerine getirdiyseniz, o gönderinin kimliği sayfanın sol alt kısmında görünür. (görseldeki gibi).

WordPress Gönderi Kimliği

Gördüğünüz kimlik numarasını kopyalayıp yukarıda anlatılan bölümlere eklemeniz yeterli. 1’den fazla kimlik için araya virgül eklemeyi unutmayın.

Eğer kullandığınız temanın böyle bir özelliği yoksa, özel bir sayfa ya da bu işlemleri kolaylaştıran sayfa oluşturucular kullanmıyorsanız aşağıdaki diğer pratik çözümlere geçebilirsiniz.

2. WordPress Ana Sayfadan Belirli Gönderileri Gizlemek İçin Eklenti Kullanın

Gönderileri ana sayfadan gizlemek için bir eklenti kullanmak isterseniz, bu iş için en iyi eklenti WordPress Hide Posts eklentisidir.

Yapmanız gereken çok basit;

Eklentiyi yükleyin ve etkinleştirin. Kurulum tamamlandıktan sonra, bu eklenti yazı editörünüzün menü çubuğunda görünecek.

Her içerik için bu menüden tercihler yapabilirsiniz. Seçenekleriniz şunlar;

  • Ön sayfada gizle
  • Kategorilerde gizle
  • Aramada gizle
  • Etiketler sayfasında gizle
  • Yazarlar sayfasında gizle
  • RSS beslemesinde gizle
  • Blog sayfasında gizle

Gönderinizin nerelerde görünmesini istemiyorsanız o seçenekleri işaretleyin ve sayfayı kaydedin.

WordPress Gönderileri Ana Sayfadan Gizleme Eklentisi

Yalnız, bu eklenti uzun zamandır güncelleme almıyor. Aslında güncellenmese de şu an için gayet iyi çalışan en kullanışlı eklentidir. Yine de eklentiyi yükledikten sonra sitenizde herhangi bir sorun olup olmadığını kontrol etmenizde fayda var.  Ek olarak, düzenli olarak güncellenen Ultimate Category Excluder eklentisini de deneyebilirsiniz.

3. Bir WordPress Gönderisini Ana Sayfanızdan Manuel Olarak Gizleme

WordPress ana sayfadan belirli gönderileri gizleme işlemi için temanızın functions.php dosyasına özel kod ekleyebilirsiniz. Hangi gönderiyi gizlemek istediğinizi belirledikten sonra (gönderi kimliğini edindikten sonra), aşağıdaki kodu kopyalayıp temanızın functions.php dosyasının sonuna yapıştırın.

NOT- Herhangi bir değişiklik yapmadan önce mutla sitenizin bir yedeğini alın.

function exclude_from_home($query) {
      if ($query->is_home() ) {
          $query->set('post__not_in', array(992, 1968, 173));
      }
}
add_action('pre_get_posts', 'exclude_from_home');

WordPress yayınlarını veya sayfalarını RSS’den gizlemek için aşağıdaki kodu kullanın;

function exclude_from_feed($query) {
      if ($query->is_feed() ) {
          $query->set('post__not_in', array(992, 1968, 173));
      }
}
add_action('pre_get_posts', 'exclude_from_feed');

Belirli gönderileri arşiv sayfalarında gizlemek için şu kodu kullanın;

function exclude_single_posts_archive($query) {
	 if ($query->is_archive() && $query->is_main_query()) {
		  $query->set('post__not_in', array(992, 1968, 173));
	  }
}
add_action('pre_get_posts', 'exclude_single_posts_archive');

Belirli bir kategoriyi WordPress ana sayfadan tamamen gizlemek için şu kodu kullanın;

function exclude_category($query) {
         if ( $query->is_home() ) {
              $query->set( 'cat', '-3' );
         }
         return $query;
}
add_filter( 'pre_get_posts', 'exclude_category' );

-3 olan kısma kendi kategori kimliğinizi ekleyin. Kategori kimliğini de yazı kimliğini bulduğunuz gibi bulabilirsiniz. Bu sefer kategori bölümüne gidip imleci hariç tutmak istediğiniz kategori başlığının üzerine getirin. Sol alt kısımda kategori kimliğini görebilirsiniz.

Bunun tam tersi işlem de yapabilirsiniz. Yani ana sayfada belirli kategorileri gizlemek yerine sadece belirli bir kategorinin görünmesini isterseniz (örneğin WordPress kategorisi) şunu kullanın;

add_action( 'pre_get_posts', 'only_wordpress_category' );
// Sadece WordPress kategorisi görünsün
function only_wordpress_category( $query ) {
   if ( $query->is_home() && $query->is_main_query() ) {
   $query->set( 'cat', '3' );
   }
}

Belirli gönderileri hem ana sayfadan hem arşiv sayfalarından hem de RSS akışından gizlemek için tek kod kullanma;

function exclude_from_everywhere($query) {
   if ( $query->is_home() || $query->is_feed() ||  $query->is_search() || 
$query->is_archive() ) {
     $query->set('post__not_in', array(992, 1968, 173));
   }
}
add_action('pre_get_posts', 'exclude_from_everywhere');

Umuyoruz bu makale WordPress ana sayfadan yazı, kategori, gönderi vb. gizlemenize yardımcı olmuştur. Peki ana sayfadan gönderi gizlemek için sizin uyguladığınız farklı bir yöntem var mı? Aşağıdaki yorumlar bölümünden bizimle paylaşmayı unutmayın!