Wooocommerce müşterileri için yönetici çubuğu nasıl gizlenir veya kullanıcının rolüne göre

WordPress kontrol paneline erişmekten kaçınmak için müşterilerden, müşterilerden ve AMIN olmayan kullanıcılardan WooCommerce üzerindeki yönetici bıçaklarını gizlemek önemlidir. WordPress yönetici bıçaklarını bu öğreticide vurgulandığı gibi gizlemenin yolları vardır – WordPress’teki yönetici çubuğunun nasıl gizleneceği. Aynı teknik WooCommerce sitesinde, ancak her vaka için birkaç koşulla kullanılabilir.

Yöneticiler için yönetici çubuğunu gizlemek için WooCommerce yönetici seçeneği için yönetici bıçaklarını gizleyin, WooCommerce için de yardımcı olabilecek ve işlev görecek bazı eklentiler olabilir.
Eklentiyi kullanmadan önce, önce bu hızlı seçeneği WordPress yönetici kontrol panelinde denemeniz gerekir. Bu seçenek WooCommerce sitesi için de iyi çalışır, fark yoktur. Yönetici kullanıcı profili ayarlarını açın ve siteyi görüntülerken yönetici için yönetici bıçaklarını gizlemek için bu seçeneği kontrol edin.

Bu seçeneği silin ve ayarları kaydedin, ardından yönetici çubuğunun gizlenip gizlenmediğini görmek için ön uç ziyaret edin. Aşağıdaki resimde görebileceğiniz gibi, Siteyi görüntülerken yönetici çubuğu yönetici kullanıcıları için gizlenecektir.

Bu, girmediğinizde sitenizin görünümüne bakmanın önemli bir yoludur.
Ayrıca, başlık ekranıyla ilişkili WooCommerce tema sorunlarından bazılarını hata ayıklamaya çalıştığınızda da yardımcı olur. WooCommerce, müşteriler ve WooCommerce müşterileri için aynı şeyi uygulamak için yönetici çubuğunun kodu seçeneğini gizler, yönetici bıçaklarını gizlemek için yanlış geri yüklemek için ‘show_admin_bar’ filtresini kullanmamız gerekir. Bu kancayı kullanmanın çeşitli yolları vardır ve birlikte çalışan aynı adla işlevler de vardır. Show_admin_bar işlevi (bool $ show) boolean (true veya false) olmak üzere bir parametre alır ve aşağıdaki gibi kullanılabilir: show_admin_bar (yanlış); Bu kod, temanızdaki functions.php dosyasına eklendiğinde, yönetici çubuğunu gizler. Yönetici çubuğunu düzgün bir şekilde gizleyen yüklü ve işleyen WooCommerce penceresinin temasıyla test ettim.
Bu işlevi daha fazla geliştirebilir ve müşterinin görmemesi gerektiğinde yöneticinin yönetici çubuğunu görmesine izin verdiğiniz koşullu bir test ekleyebilirsiniz. Bu durumda, Müşterinin rolü veya sitenizdeki yönetici çubuğunu gizlemek istediğiniz başka rolü ile koşullu olarak test edersiniz. WordPress sitenizdeki rolü yeni kullanıcılar eklemekten alabilirsiniz ve son seçeneğin açılır bir rolü vardır:

Mevcut kullanıcının rolünü elde etmek için, WordPress’teki mevcut rolü nasıl alacağınıza dair bir öğretici yazıyorum ve bu durumda müşteri kullanıcılarının rolünü almak ve show_admin_bar () ‘nı false olarak ayarlamak için kullanabilirsiniz. Bu durumda, mevcut kullanıcının rolünü almak ve kullanıcının rolünün müşteri olup olmadığını koşullu olarak kontrol etmek için kullanabileceğiniz bir kod aşağıdadır. Bu kodu WordPress’teki mevcut kullanıcının rolünü nasıl alacağınız konusunda öğreticide paylaşıyorum ve bu durumda tekrar kullanabiliriz: add_action (‘wp_head’, ‘njengah_get_current_user_role’); işlevi njengah_get_current_user_role () {

if (is_user_logged_in ()) {// oturum açan kullanıcılar olup olmadığını kontrol edin
$ user = wp_get_current_user (); // Geçerli kullanıcıyı al ve ayarlayın
$ roller = (dizi) $ kullanıcı-> roller; // rol al
// Dönüş $ rolü; // Geçerli kullanıcının rolünü geri yükleyin
// print_r ile test edin
print (”);
print_r ($ rol);
print (‘

‘);
} değilse {
arka dizi (); // Kullanıcı oturum açmazsa, boş diziyi döndür
}
} Bu kodu function.php to to function.php ekleyerek test ettiğinizde, geçerli kullanıcının rolünün aşağıdaki resimde gösterildiği gibi dizide görüntülendiğini göreceksiniz:
Bu kullanıcının rolünü [0] tuşunu kullanarak Array’dan alabiliriz ve küçük bir kodu değiştirip kullanıcının rolünü yazdırdığımızda, kullanıcının rolünü aşağıdaki değişiklik kodunda göreceğiz:
Add_action (‘wp_head’, ‘njengah_get_current_user_role_print’);

Njengah_get_current_user_role_print () function () {

if (is_user_logged_in ()) {// $ kullanıcı = wp_get_current_user () içinde oturum açan kullanıcılar olup olmadığını kontrol edin; // Geçerli kullanıcıyı al ve ayarlayın
$ roller = (dizi) $ kullanıcı-> roller; // rol al
echo $ rol [0];
} değilse {
arka dizi (); // Kullanıcı oturum açmazsa, boş diziyi döndür
}
} Kullanıcının rolünü almayı başardığımız için, artık herhangi bir rol şeklinde olabilecek belirli kullanıcıların rolü için yöneticinin bıçaklarını gizlemek için işlevsel olarak show_admin_bar () ‘da kullanabiliriz.
Bir örnek olarak, aşağıdaki kodu kullanarak yöneticinin rolü için yönetici bıçaklarını gizliyoruz: add_action (‘wp_head’, ‘njengah_hide_admin_bar_for_administrator’);
İşlev njengah_hide_admin_bar_for_administrator () {
if (is_user_logged_in ()) {// oturum açan kullanıcılar olup olmadığını kontrol edin
$ user = wp_get_current_user (); // Geçerli kullanıcıyı al ve ayarlayın
$ roller = (dizi) $ kullanıcı-> roller; // rol al
if ($ roller [0] == ‘yönetici’) {// Buradaki rolü kontrol edin. Bunu diğer kullanıcıların rolü ile değiştirebilirsiniz. ‘Müşteri’ editörlerine örnekler vb.
echo $ rol [0]; // Demo amacıyla ekrana roller yazdırın (üretimde kaldırılmalıdır)
show_admin_bar (yanlış); // bu durumun rolünü gizle
}
} değilse {
arka dizi (); // Kullanıcı oturum açmazsa, boş diziyi döndür
}
} Bu kodu functions.php dosyasına eklediğinizde, ekranda görüntülenen yöneticinin rolünü daha önce olduğu gibi göreceksiniz ve yönetici çubuğu şartlı olarak gizlidir.
Bu yöneticinin rolünü müşteri ile değiştirebilir ve aşağıdaki koşullarda bazı koşullu testler ekleyebilirsiniz: add_action (‘wp_head’, ‘njengah_hide_admin_bar_for_customer’); işlevi njengah_for_customer ‘);
if (is_user_logged_in ()) {// oturum açan kullanıcılar olup olmadığını kontrol edin
$ user = wp_get_current_user (); // Geçerli kullanıcıyı al ve ayarlayın
$ roller = (dizi) $ kullanıcı-> roller; // rol al
if ($ roller [0] == ‘müşteri’) {// Buradaki rolü kontrol edin. Bunu diğer kullanıcıların rolü ile değiştirebilirsiniz. ‘Müşteri’ editörlerine örnekler vb.
echo $ rol [0]; // Demo amacıyla ekrana roller yazdırın (üretimde kaldırılmalıdır)
show_admin_bar (yanlış); // bu durumun rolünü gizle
}
} değilse {
arka dizi (); // Kullanıcı oturum açmazsa, boş diziyi döndür
}
} Test ederken yönetici durumunda olduğu gibi, müşteri olarak görüntülenen rolün adını göreceksiniz ve yönetici çubuğu gizlidir.
Yönetici bıçaklarını, geçerli kullanıcının tüm kullanıcılardan yönetici bıçaklarını gizleme yeteneğine göre gizle Yöneticinizin functions.php: if (! Current_user_can (‘manage_options’)) {) {
show_admin_bar (yanlış);
} Bu kod, current_user_can () durumunu test etmeyi kullanır ve müşterilerin aşağıdaki gibi olması gerektiği gibi farklı ayrıcalıklara düzenleyebilirsiniz: if (! Current_user_can (‘okuma’)) {) {
show_admin_bar (yanlış);
} Bu, WordPress’teki müşterilerin rolüne eşdeğerdir. WooCommerce iki rol yarattı – müşteriler ve mağaza yöneticileri. Müşteriler müşterilere eşdeğerdir, böylece bu durumda müşterinin ‘okuma’ yeteneği. Tüm WordPress kullanıcılarının yeteneklerini rol dokümantasyon ve yeteneğinden görebilirsiniz. WooCommerce’in rolü hakkında daha fazla bilgi edinebilirsiniz. Yukarıdaki kodda WooCommerce üzerindeki yönetici bıçaklarını gizlemek için kodu uygularken, WooCommerce’deki yönetici bıçaklarını gizlemek için her şeyin nasıl çalıştığını ayrıntılı olarak açıkladık. Test amacıyla ‘WP_HEAD’ ile ekli add_action () kullandığımı fark ederseniz, üretimde, kanca eylemi yerine filtre kullanmamız gerekir. Bu durumda, filtre ‘show_admin_bar’a bağlanmalı ve kod aşağıdaki gibi olmalıdır:
add_filter (‘show_admin_bar’, ‘njengah_hide_admin_bar_for_customers’, 20, 1);
Njengah_hide_admin_bar_for_customers işlevi işlevi ($ show) {
$ user = wp_get_current_user (); // Geçerli kullanıcıyı al ve ayarlayın
$ roller = (dizi) $ kullanıcı-> roller; // rol al
if ($ rools [0] == ‘Administrator’) {// Burada kullanıcı rol testi [0] [1] dizi tuşuna ve bunların ilgili değerlerine göre
$ ekran = yanlış;
geri $ ekran;
}
} Her rolün yöneticiyi gizleme yeteneğini ve filtre bıçaklarını aşağıdaki gibi kullanabilirsiniz: /**
* Yönetici beklemek için diğer rollerin yönetici bıçaklarını gizleyin
*/
add_filter (‘show_admin_bar’, ‘njengah_hide_admin_bar_others_expect_admin’, 20, 1);
İşlev njengah_hide_admin_bar_others_expect_admin ($ show) {
if (! current_user_can (‘yönetici’)) $ show = false; geri $ ekran;
} Bu kodu, yönetici tarafından beklenen diğer rollerden yönetici bıçaklarını gizlemek için function.php adresine ekleyin.Son zihnimiz, çeşitli yaklaşımları kullanarak WordPress veya WooCommerce üzerindeki yönetici bıçaklarını nasıl gizleyebileceğinizi açıkladı.Bu yöntemlerden birini seçebilir ve kodu işlevinize ekleyebilirsiniz.php.Ayrıca, yönetici bıçakları Kustom WordPress kullanıcılarının rolünden gizleme gibi çeşitli senaryolar için uygun olacak şekilde kodu daha da değiştirebilirsiniz.

admin

Bir Cevap Yazın

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