WordPress, güçlü bir içerik yönetim sistemi ve sunduğu esneklik sayesinde web sitesi geliştirenler için oldukça kullanışlı. Ancak, müşterilere teslim ettiğiniz sitelerde, onların admin panelini kurcalayıp bir şeyleri bozmasını istemeyebilirsiniz. Özellikle teknik bilgisi olmayan kişiler, yanlışlıkla önemli ayarları değiştirebilir veya tema dosyalarını düzenleyerek sitenin çökmesine neden olabilir.
Bu yüzden, WordPress admin panelindeki bazı menüleri gizlemek veya devre dışı bırakmak mantıklı bir çözümdür. Bu yazıda, functions.php dosyası kullanarak admin panelinde gereksiz menüleri nasıl gizleyebileceğinizi adım adım göstereceğim.
WordPress’te Menüler Neden Gizlenir?
WordPress’te admin paneline giriş yaptığınızda Görünüm > Tema Düzenleyici veya Eklentiler > Eklenti Düzenleyici gibi seçenekleri görebilirsiniz.
Bu bölümler, direkt olarak tema ve eklenti kodlarını düzenlemeye izin verir. Eğer müşteri veya bir başka yönetici yanlışlıkla bu bölümleri düzenlerse, site tamamen kullanılamaz hale gelebilir.
Admin panelindeki bu bölümleri gizlemek, müşterinin yanlışlıkla siteyi bozmasını önler., admin panelini daha sade ve kullanıcı dostu hale getirir, gereksiz bölümleri kaldırarak müşterinin sadece ihtiyacı olan alanlara odaklanmasını sağlar.
Şimdi admin panelinde belirli menüleri nasıl gizleyeceğimize bakalım.
Tema ve Eklenti Düzenleyiciyi Devre Dışı Bırakma
Admin panelinde tema ve eklenti düzenleyicisini devre dışı bırakmak için functions.php dosyasına bir kod ekleyerek bu işlemi kolayca yapabiliriz.
Eğer wp-config.php dosyasına müdahale etmek istemiyorsanız, aşağıdaki kodu functions.php dosyanıza ekleyebilirsiniz:
function remove_editor_menu() {
remove_submenu_page('themes.php', 'theme-editor.php');
remove_submenu_page('plugins.php', 'plugin-editor.php');
}
add_action('admin_menu', 'remove_editor_menu', 999);
Bu kod, admin panelindeki tema ve eklenti düzenleyicilerini kaldırır.
Admin Panelde Belirli Menüleri Gizleme
Bazı müşteriler için WordPress panelini daha sade hale getirmek isteyebilirsiniz. Örneğin, sadece Yazılar bölümünü bırakıp diğer menüleri kaldırabilirsiniz.
Bunu yapmak için functions.php dosyanıza şu kodları ekleyebilirsiniz:
function remove_admin_menus() {
remove_menu_page('edit.php'); // Yazılar
remove_menu_page('upload.php'); // Ortam
remove_menu_page('edit.php?post_type=page'); // Sayfalar
remove_menu_page('edit-comments.php'); // Yorumlar
remove_menu_page('themes.php'); // Görünüm
remove_menu_page('plugins.php'); // Eklentiler
remove_menu_page('users.php'); // Kullanıcılar
remove_menu_page('tools.php'); // Araçlar
remove_menu_page('options-general.php'); // Ayarlar
}
add_action('admin_menu', 'remove_admin_menus');
Bu kodu ekledikten sonra admin panelinde bu sayfalar gizlenecek.
Belirli Kullanıcılara Göre Menü Gizleme
Tüm menüleri değil de, sadece belirli kullanıcı rollerine göre gizlemek istiyorsanız, aşağıdaki kodu kullanabilirsiniz:
function remove_menus_for_non_admins() {
if (!current_user_can('administrator')) {
remove_menu_page('edit.php'); // Yazılar
remove_menu_page('upload.php'); // Ortam
remove_menu_page('edit-comments.php'); // Yorumlar
}
}
add_action('admin_menu', 'remove_menus_for_non_admins');
Bu kod ile sadece admin olmayan kullanıcılar için belirli menüler gizlenmiş olacak.
Örnek: Eğer müşterinizin sadece blog yazısı ekleyebilmesini istiyorsanız, sadece Yazılar menüsünü bırakabilirsiniz.
Custom Post Type (Özel İçerik Türü) Menülerini Gizleme
Eğer özel içerik türleri (Custom Post Type) kullanıyorsanız ve bunları da admin panelinde gizlemek istiyorsanız, aşağıdaki kodu ekleyebilirsiniz:
function remove_custom_post_type_menu() {
remove_menu_page('edit.php?post_type=portfolio'); // Portfolio'yu gizle
}
add_action('admin_menu', 'remove_custom_post_type_menu');
Bu kod, Portfolio adlı özel içerik türünü gizler. Kendi özel içerik türünüzü gizlemek için portfolio
yerine kendi post type adınızı yazabilirsiniz.
Belirli Eklentilerin Menüsünü Gizleme
Bazı eklentiler admin paneline yeni menüler ekleyebilir. Örneğin, Contact Form 7’nin “İletişim” sekmesini gizlemek istiyorsanız:
function remove_contact_form7_menu() {
remove_menu_page('wpcf7');
}
add_action('admin_menu', 'remove_contact_form7_menu');
Benzer şekilde, diğer eklentilerin menülerini gizlemek için eklenti menü slug’larını bulup aynı şekilde kaldırabilirsiniz.
Sonuç
WordPress admin panelinde gereksiz menüleri gizlemek, müşteri sitelerini daha güvenli ve sade hale getirmek için harika bir yöntem. Böylece, müşterileriniz sadece ihtiyacı olan bölümleri görebilir ve yanlışlıkla sitenin çalışmasını bozacak işlemler yapamaz.
Yorumlar (0)
Yorum yapmak için giriş yapın
Şikayet Et