Ürünleri WooCommerce’de nasıl gizılır veya kategorilere veya rollere göre ürünler nasıl gizlenir

WooCommerce ve bu yazıda belirli ürünleri gizlemek için kullanabileceğiniz birçok yol vardır; WooCommerce’deki ürünleri gizlemek için her şekilde keşfedeceğiz. WooCommerce mağazasından ürünleri saklamayı düşünmeniz için birkaç neden vardır, ancak üst liste ürün stokta tükendiğinde veya ürünler için ürün sipariş edildiğinde veya belirli kullanıcıların rolü vardır. WooCommerce Ürünleri Gizle Ürün stoğunu gizlemek istiyorsanız, önce ürünü gizlemek yerine ürüne bitmek için bir stok etiketi eklemeyi düşünmelisiniz.
Yine de, hala tükenmiş ürünleri veya diğer WooCommerce ürünlerini gizlemek istiyorsanız, bu yazıda ürünleri kimlik, ad veya kategoriye göre nasıl gizleyebileceğinizi paylaşacağım. WooCommerce seçeneğini kullanarak WooCommerce ürünlerini gizle, varsayılan olarak kullanıcıların bir ürünün görünürlüğünü kontrol etmesini sağlayan olağanüstü bir seçenekle birlikte gelir. Görüntüleri yayınlamadan önce görünürlük seçeneklerini kontrol ederek WooCommerce’de gizli ürünler oluşturabilirsiniz. Görünürlük kullanarak WooCommerce’deki ürünleri gizlemek için aşağıdaki adımları izlemelisiniz:
WordPress Site Gösterge Tablonuzu Girin
Görünürlük seçeneğini kullanarak kullanıcıdan gizlemek istediğiniz ürüne erişebilmeniz için aşağıdaki resimde gösterildiği gibi ürün menüsünü tıklayın.

Ürünü aşağıda gösterildiği gibi gizlemek istediğiniz tüm ürünler listesinden seçin ve Ürün Düzenleme ekranına erişmek için Düzenle’yi tıklayın:

Metabox yayıncılığının altındaki sağ taraftaki ürün düzenleme ekranında ‘Görünürlük Kataloğu’ adlı bir seçenek var. Bu radyo seçeneğini kontrol ettiğinizde ve Tamam’ı tıklattığınızda, gönderiyi güncelleyin, ürün mağaza kataloğundan gizlenir. Bu üç adımda gösterildiği gibi (1,2,3): Bu seçeneği kaydedip gönderiyi güncellediğinizde, ürün görünürlüğü mağazanın önünde görebileceğiniz gibi gizli olarak ayarlanacaktır:

Ürün düzenleme ekranındaki arka uçtaki katalog görünürlüğü seçeneğini kontrol ederseniz, gönderi güncellendiğinde güncellendiğini görürsünüz:

Bu, WooCommerce ürünlerini mağaza kataloğundan gizlemenin en hızlı yoludur. Çocuk temasına kod eklemek gibi kullanabileceğiniz başka yollar da vardır. WooCommerce ürünlerini gizlemek için kullanabileceğiniz daha fazla seçeneği keşfedelim.

Woocommerce Mağaza sayfasından belirli kategori ürünlerini gizle WooCommerce’daki mağaza sayfasından belirli ürünleri gizlemek istiyorsanız, bunu mağaza sorgularını ‘woocommerce_product_query’ hedefleyen eylem kancalarını kullanarak yapabilirsiniz. Dönüş işlevi, gizlemek istediğiniz ürünle ilgili terimleri daraltmak için $ Tax_query kullanmalıdır. Bu durumda, $ Tax_query dizisindeki terimin anahtarı, mevcut WooCommerce ürün kategorisinin nasıl alınacağını açıkladığım gibi kategoriye/etikete eşdeğerdir. Bu ürünü ‘araba parçaları’ kategorisinden gizlemek istediğimizi varsayalım.
Mağaza sayfasından ürünleri gizlemek için Fonksiyon.php dosyasına eklenen aşağıdaki kod parçalarını kullanabiliriz: /*** WooCommerce ürünlerini mağaza sayfası kategorisine göre gizleyin.

*
* @param $ q
*/
Add_action (‘wooocommerce_product_query’, ‘njengah_hide_product_by_category_shop_page’);
İşlev njengah_hide_product_by_category_shop_page ($ q) {
$ tax_query = (dizi) $ q-> get (‘tax_query’);
$ Tax_kueri [] = dizi (
‘taksonomi’ => ‘ürün_kucing’,
‘Field’ => ‘Salyangoz’,
‘Terimler’ => dizi (‘uncategored’, ‘otomatik parçalar’), // Mağaza sayfasındaki ‘Otomatik Parçalar’ kategorisinde ürünleri görüntülemeyin.
‘Operatör’ => ‘değil’
);
$ q-> set (‘Tax_query’, $ tax_query);
}
Bu kodu tema işlevine ekleyin ve ‘Araba Parçaları’ kategorisini, ürünü gizlemek istediğiniz diğer kategorilerle değiştirebilirsiniz ve bu, ürünleri aşağıda görüldüğü gibi mağaza sayfasındaki bu kategoriden etkili bir şekilde gizleyecektir:
WooCommerce, WooCommerce’deki ürünleri gizlemenin diğer ortak yollarına girmek dışında ürünleri gizler ve giriş olsun ya da olmasın, kullanıcı durumuna göre ürün görünürlüğüne bağlı kısıtlamalar içerir. İlk adım, kullanıcının girip girmediğini kontrol etmek için açıktır. Burada ayrıntılı olarak açıklıyorum – kullanıcının WordPress’e girip girmediğini nasıl kontrol edeceğimi. Bu kodu, giriş durumunu kontrol etmek için kullanacağız, ardından kullanıcının oturum açma durumuna bağlı olarak Woocommerce ürününü şartlı olarak gizlemek için kuyrukla birleştireceğiz. Kod aşağıdaki gibi olmalıdır: **
* Kullanıcı girmezse WooCommerce ürünlerini gizle*

* @param $ isteği
*/
İşlev njengah_hide_product_if_user_not_logged ($ sorgu) {
if ($ query-> is_main_query () && IS_WOOOCOMMERCE () &&! Is_user_logged_in ()) {
$ Tax_kueri = dizi (
Dernek (
‘taksonomi’ => ‘ürün_kucing’,
‘Field’ => ‘Salyangoz’,
‘Terimler’ => dizi (‘uncategored’, ‘otomatik parçalar’), // Mağaza sayfasındaki ‘Otomatik Parçalar’ kategorisinde ürünleri görüntülemeyin.
‘Operatör’ => ‘değil’ // hariç tutuldu
)
);
$ query-> set (‘Tax_query’, $ tax_query);
}
}
Add_action (‘pre_get_posts’, ‘njengah_hide_product_if_user_not_logged’);
Gördüğünüz gibi, sıraya devam edebilmemiz için kullanıcının IS_USER_Logged_in () işlevini kullanarak girip girmediğini şartlı olarak kontrol ediyoruz.
WooCommerce, ürünleri kullanıcınızın rolüne dayalı olarak gizler. Ürünleri de kullanıcının rolüne göre gizleyebilir. Öncelikle, mevcut kullanıcının WordPress’teki rolünü nasıl alacağınız konusunda açıkladığım gibi, şu anda mevcut kullanıcıları ve kullanıcılarının rolünü almalısınız. Kullanıcının rolünü elde etmek için bu kod aşağıdaki gibidir: $ user = wp_get_current_user (); // Geçerli kullanıcıyı al ve ayarlayın
$ roller = (dizi) $ kullanıcı-> roller; // rol al
$ ROLES [0] // Geçerli kullanıcının rolü, bu kodu önceki Pre_get_Posts eylemi ve tüm kullanıcıların ürünü gizleyecek kodun yöneticinin aşağıdaki gibi olmasını beklediğini birleştirmelidir:
/**
* Wooocommerce ürünlerini kullanıcının rolüyle bu durumda sadece yönetici bu ürünü görebilir*
* @param $ isteği
*/
İşlev njengah_hide_product_by_user_role ($ query) {
$ user = wp_get_current_user (); // Geçerli kullanıcıyı al ve ayarlayın
$ roller = (dizi) $ kullanıcı-> roller; // rol al
if ($ query-> is_main_query () && IS_WOOOCOMMERCE () && $ roller [0]! = ‘Yönetici’) {
$ Tax_kueri = dizi (
Dernek (
‘taksonomi’ => ‘ürün_kucing’,
‘Field’ => ‘Salyangoz’,
‘Terimler’ => dizi (‘uncategored’, ‘otomatik parçalar’), // Mağaza sayfasındaki ‘Otomatik Parçalar’ kategorisinde ürünleri görüntülemeyin.
‘Operatör’ => ‘değil’ // hariç tutuldu
)
);
$ query-> set (‘Tax_query’, $ tax_query);
}
}
Add_action (‘pre_get_posts’, ‘njengah_hide_product_by_user_role’); Koşullu kuyruğu incelediğimiz bu kod satırında görebileceğiniz gibi, kullanıcının rolünün yönetici olmadığını kontrol etme koşulunu tanıttım – $ Roller [0]! = ‘Yönetici’ o zaman kuyrukla devam ediyoruz. WooCommerce ürünlerini kullanıcının rolüne göre gizlemenizdir.

admin

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir