WooCommerce Kategori Gizleme Nasıl Yapılır?
WooCommerce, kullanıcılarına kapsamlı özelleştirme seçenekleri sunan güçlü bir e-ticaret eklentisidir. Ancak bazen, mağaza sayfasında belirli ürün kategorilerini göstermek istemeyebilirsiniz. Örneğin, yalnızca belirli müşteri gruplarına özel kategoriler sunmak, stokta olmayan ürün kategorilerini gizlemek veya sadece daha düzenli bir görünüm elde etmek için kategori gizleme işlemini uygulamak isteyebilirsiniz. Bu rehberde, WooCommerce kategori gizleme işlemini adım adım anlatacağım ve hem kodlarla hem de arayüz ayarlarıyla bu işlemin nasıl yapılacağını göstereceğim.
WooCommerce Mağaza Sayfasında Kategori Yönetimi
WooCommerce mağaza sayfasında ürün ve kategori yönetimini şu üç farklı şekilde gerçekleştirebilirsiniz:
- Sadece Ürünleri Listeleme: Kategoriler hariç, yalnızca mağazanızdaki ürünleri gösterebilirsiniz.
- Sadece Kategorileri Listeleme: Ürünler yerine yalnızca mağazanızdaki kategorileri gösterebilirsiniz.
- Ürün ve Kategorileri Birlikte Listeleme: Hem ürünlerin hem de kategorilerin bir arada listelendiği bir yapı kullanabilirsiniz.
Bu yazıda daha çok ikinci seçeneğe, yani kategorileri listeleme ve gerekirse belirli kategorileri gizleme konusuna odaklanacağız.
WooCommerce Ayarları ile Kategori Gösterim Seçenekleri
WooCommerce mağaza sayfasında sadece kategorileri listelemek istiyorsanız, aşağıdaki adımları izleyebilirsiniz:
- WordPress Yönetim Paneline Giriş Yapın.
- Görünüm > Özelleştir > WooCommerce > Ürün Kataloğu sekmesine gidin.
- Mağaza Sayfası Görünümü ayarını Kategorileri Göster olarak değiştirin.
Bu işlemden sonra mağaza sayfanızda yalnızca kategoriler listelenir. Ancak, görünmesini istemediğiniz kategoriler varsa bunları kod yardımıyla kolayca gizleyebilirsiniz.
WooCommerce Fonksiyonları ile Kategori Gizleme
WooCommerce’in esnek yapısı sayesinde, belirli kategorileri mağaza sayfasından gizlemek için küçük bir kod parçası kullanabilirsiniz. Bu kodu temanızın functions.php
dosyasına ekleyerek kategori gizleme işlemini gerçekleştirebilirsiniz.
WooCommerce Mağaza Sayfasında Kategori Gizleme
Aşağıdaki kod, belirli bir kategoriyi mağaza sayfasından gizlemek için kullanılabilir.
<?php
/**
* WooCommerce Mağaza Sayfasında Kategori Gizleme
*
* Bu işlev, mağaza sayfasında belirli kategorilerin görünümünü engellemek için kullanılır.
* `get_terms` filtresi üzerinden çalışır.
*/
function boran_hide_woocommerce_category_for_shop( $terms, $taxonomies, $args ) {
$filtered_terms = array();
$hidden_categories = array( 32 ); // Görünmesini istemediğiniz kategori ID'lerini buraya yazın.
// Mağaza sayfasında `product_cat` taksonomisi için çalıştırılır
if ( in_array( 'product_cat', $taxonomies ) && !is_admin() && is_shop() ) {
foreach ( $terms as $term ) {
// Belirtilen kategori ID'lerine uymayanları yeni diziye ekle
if ( !in_array( $term->term_id, $hidden_categories ) ) {
$filtered_terms[] = $term;
}
}
$terms = $filtered_terms;
}
return $terms;
}
add_filter( 'get_terms', 'boran_hide_woocommerce_category_for_shop', 10, 3 );
Kodun Kullanımı:
32
yazan kısmı, mağaza sayfasında gizlemek istediğiniz kategori ID’siyle değiştirin.- Birden fazla kategori gizlemek istiyorsanız, bu ID’leri şu şekilde listeleyebilirsiniz:
[32, 45, 67]
.
Belirli Bir Kategoriye Ait Ürünleri Gizleme
Eğer mağaza sayfasında yalnızca belirli bir kategoriye ait ürünleri gizlemek istiyorsanız, aşağıdaki kodu kullanabilirsiniz:
<?php
/**
* WooCommerce Mağaza Sayfasında Belirli Ürünleri Gizleme
*/
function boran_hide_products_by_category($query) {
// Ana sorgu değilse, arşiv sayfasında değilse ya da admin panelindeysek işleme devam etme
if (!$query->is_main_query() || !$query->is_post_type_archive() || is_admin()) {
return;
}
// Mağaza sayfasındaysak belirli kategorileri gizle
if (is_shop()) {
$query->set('tax_query', array(
array(
'taxonomy' => 'product_cat',
'field' => 'id',
'terms' => array(21, 23), // Gizlemek istediğiniz kategori ID’lerini buraya ekleyin.
'operator' => 'NOT IN'
)
));
}
// Döngülerin sonsuz çağrılmasını önlemek için action’ı kaldırıyoruz
remove_action('pre_get_posts', 'boran_hide_products_by_category');
}
add_action('pre_get_posts', 'boran_hide_products_by_category');
Kodun Kullanımı:
21, 23
kısmını gizlemek istediğiniz kategorilerin ID’leriyle değiştirin.- Bu kod, belirtilen kategorilere ait ürünleri mağaza sayfasında göstermeyecek şekilde filtreler.
WooCommerce Kategori Gizleme İşleminde Dikkat Edilmesi Gerekenler
- Kategori ID’lerini Bulma: WooCommerce’de bir kategorinin ID’sini öğrenmek için, WordPress yönetim panelinden Ürünler > Kategoriler sayfasına giderek ilgili kategorinin düzenleme ekranındaki URL’de yer alan
tag_ID
parametresini kontrol edebilirsiniz. - Kod Yedekleme:
functions.php
dosyasını düzenlemeden önce mutlaka bir yedeğini alın. Hatalı bir kodlama, sitenizin çalışmamasına neden olabilir. - Cache Temizliği: Kodları ekledikten sonra site önbelleğini temizlemeyi unutmayın, aksi takdirde değişiklikleri göremeyebilirsiniz.
Boran Karadeniz’den Tavsiyeler
- Kategorileri Dinamik Yönetmek İçin Eklentiler: Eğer kod yazmak size karmaşık geliyorsa, WooCommerce kategori gizleme işlemleri için özel eklentiler kullanabilirsiniz. Örneğin, “WooCommerce Product Visibility” veya benzer eklentiler, kategori ve ürün gizleme işlemlerini kolaylaştırır.
- Müşteri Grubu Bazlı Görünürlük: WooCommerce’in kullanıcı rolleri bazlı görünürlük ayarlarını kullanarak, belirli müşteri gruplarına özel kategoriler oluşturabilirsiniz. Örneğin, yalnızca kayıtlı kullanıcıların görebileceği VIP kategoriler ayarlayabilirsiniz.
- Performans ve SEO Optimizasyonu: Kategorileri gizlediğinizde, bu kategorilere ait sayfaların hâlâ arama motorlarında görünebilir olduğunu unutmayın. Eğer bu sayfaların tamamen gizlenmesini istiyorsanız, bir SEO eklentisi kullanarak bu sayfaları noindex olarak ayarlayabilirsiniz.
- Daha Esnek Tasarımlar İçin Filtreleme: WooCommerce mağaza sayfasında kategori ve ürün filtreleme özelliklerini etkinleştirerek, müşterilerinizin daha kolay bir alışveriş deneyimi yaşamasını sağlayabilirsiniz.
Eğer bu yazıyla ilgili herhangi bir sorunuz olursa ya da WordPress desteğine ihtiyaç duyarsanız, bana 0 (539) 219 79 78 numaralı telefondan ulaşabilir veya [email protected] adresine e-posta gönderebilirsiniz.
Unutmayın! WordPress konusunda yardıma ihtiyacınız varsa, her zaman buradayım. 😊
Hemen İletişime Geçin
📞 Telefon: 0539 219 79 78
💬 WhatsApp: Buradan mesaj gönderin
📧 E-posta: [email protected]
🌐 Fiyat teklifi almak için: Fiyat Teklifi Al
WordPress ile tasarlanmış muhteşem bir web sitesine ne dersin?
Bir uzman desteği alBoran Karadeniz
Boran Karadeniz, 8+ yıllık deneyimiyle WordPress, WooCommerce, SEO, sosyal medya yönetimi ve dijital reklam hizmetlerinde uzman bir profesyoneldir.
Yorum Yaz