Wordpress kullanıcıya göre menü oluşturma wordpress sitelerimizde çoklu yönetim işlemlerinde kullanabiliriz. Bu sayede editör veya abonelerimiz için farklı menü ve sayfaları aktif ederek direk erişimlerini web sitemiz üzerinden sağlayabiliriz.
Farklı sorgulama yöntemleri ile kullanıcı rolünden ziyade sitenize kullanıcı girişi yapmış veya yapmamış olan kullanıcılara farklı menüler gösterebilirsiniz. Örnek vermek gerekirse kullanıcı girişi yapmış kullanıcılara bir daha ” Giriş yap ” butonunu göstermenize gerek yoktur. Bu tip sorguları yaparak farklı yöntemler deneyebilirsiniz.
function my_conditional_menus( $args = '' ) { if(current_user_can('administrator') ) { $args['menu'] = 'AdminMenu'; } elseif ( current_user_can('editor') ) { $args['menu'] = 'EditorMenu'; } else { $args['menu'] = 'Kullanicilar'; } return $args; } add_filter( 'wp_nav_menu_args', 'my_conditional_menus' );
Wordpress Kullanıcıya Göre Menü Oluşturma
Öncelikle kullanıcı rollerimize göre görünüm > menüler başlıkları altında menülerimizi oluşturmamız gerekiyor. Yukarıdaki kod bloğuna göre admin kullanıcılarına “AdminMenu” isimli bir menü oluşturuyorum. Editörler içinde ” EditorMenu ” adında bir menü oluşturuyorum. Rollere göre menülerimizi oluşturduktan sonra diğer bütün kullanıcılara gözükmesini istediğim yani else kısmında çalışacak ” Kullanicilar ” adında bir menü daha oluşturuyorum.
Menülerimizi oluşturduktan sonra wp-content > themes > temaadi klasörünün içinde functions.php dosyamıza yukarıda bulunan kod blogumuzu eklememiz gerekmektedir. AdminMenu – EditorMenu ve Kullanicilar gibi menü isimlerini açtığınız menü isimleri ile değiştirmeniz yeterli olacaktır. Functions.php dosyanıza görünüm > tema düzenleyici alanından da ulaşabilirsiniz.
Wordpress kullanıcı giriş ve çıkışına göre menüler
Farklı sorgulamalar yaparak menülerinizi şekillendirebilirsiniz if(current_user_can(‘administrator’) ) if içerisinde farklı sorgular ile menülerimizi gösterebiliriz. Örnek sadece giriş yapmış kullanıcılara ya da hem giriş yapmış hem de editör rolünde olan kullanıcılar için. Giriş yapmış kullanıcıları aşağıdaki kodu if içerisine ekleyerek kontrol sağlayabilirsiniz.
is_user_logged_in()
Wordpress eklentisiz bakım modu için yazdığım blog yazımı kontrol edebilirsiniz.