WordPress Admin Barı komple nasıl kaldırılacağını bir önceki yazımda yazmıştım, aslında her user kendi profilinden bu ayarı yapabiliyor fakat çok kullanıcılı sitelerde profilinde diğer alanları doldurmaktan sıkılan kullanıcıların buna dikkat eden ve kullananın çok fazla olacağını düşünmüyorum.
Bu aşağıdaki kod örneği ile WordPress 3.1 ile gelen yeni WordPress admin bara yeni şeyler eklemek veya varsayılan olarak görüntülenen istediğiniz elemanları kaldırmayı yapabilirsiniz, bu sayede özel kendimize ait WordPress admin bandımız olabilir. Kodu temanın functions.php dosyasına yazacaksınız.
function benim_admin_bar() {
global $wp_admin_bar;
//kaldırmak istedikleriniz
$wp_admin_bar->remove_menu('my-account-with-avatar');
$wp_admin_bar->remove_menu('new-content');
//eklemek istedikleriniz
$wp_admin_bar->add_menu( array(
'id' => 'genel_ayarlar', //css için id
'title' => 'Ayarlar', // görünecek metin
'href' => admin_url( 'options-general.php') //gidecek url
) );
$wp_admin_bar->add_menu( array(
'parent' => 'new-content', //hangi menünün altında
'id' => 'new_media', //css için id
'title' => __('Media'), //görünecek metin
'href' => admin_url( 'media-new.php') //gidecek url
) );
}
add_action( 'wp_before_admin_bar_render',
'benim_admin_bar' );İsterseniz yukarıdaki kodu biraz daha özelleştirerek kullanıcı tipine göre farklı menü gösterebiliriz. Bunun için de user role kullanacağız, WordPress’de 0 dan 10 a kadar user role rakamı vardır bunlar küçükten büyüğe sade üye den yöneticiye kadar gider.
Benim yapacağım örnek 6 editör seviyesinden aşağı ise kullanıcı benim menümü görsün olacak, işte böyle;
function benim_admin_bar_kullanicilar() {
get_currentuserinfo() ;
global $user_level;
if ($user_level < 3) {
global $wp_admin_bar;
//kaldırmak istedikleriniz
$wp_admin_bar->remove_menu('my-account-with-avatar');
$wp_admin_bar->remove_menu('comments');
$wp_admin_bar->remove_menu('new-content');
//eklemek istedikleriniz
$wp_admin_bar->add_menu( array(
'id' => 'menu_iletisim', //css için id
'title' => 'İletişim', //görünecek metin
'href' => 'https://wolkanca.com/iletisim' //gidecek url
) );
}
}
add_action( 'wp_before_admin_bar_render', 'benim_admin_bar_kullanicilar' );Hadi size haftasonu olduğu için ve de Mert isimli arkadaş beni aramayı unuttuğu için bir WordPress ipucu daha vereyim. Kullanıcıların profillerindeki alanları çok basit ekleyip çıkarabilirsiniz, örneğin profilde hiç bir işe yaramayan aim, jabber ve yim alanlarını kaldırıp onun yerine Facebook, Twitter ve LinkedIn alanları ekleyelim işte böyle;
function extra_iletisim_bilgileri($contactmethods) {
//kaldırmak istedikleriniz
unset($contactmethods['aim']);
unset($contactmethods['yim']);
unset($contactmethods['jabber']);
//eklemek istedikleriniz
$contactmethods['facebook'] = 'Facebook';
$contactmethods['twitter'] = 'Twitter';
$contactmethods['linkedin'] = 'LinkedIn';
return $contactmethods;
}
add_filter('user_contactmethods',
'extra_iletisim_bilgileri');WordPress ile hayat çok güzel 😛
Kaynaklar:
http://codex.wordpress.org/Function_Reference/show_admin_bar
http://codex.wordpress.org/Plugin_API/Filter_Reference/show_admin_bar
http://justintadlock.com/archives/2011/02/02/creating-a-custom-functions-plugin-for-end-users
http://www.iwebsource.net/blog/learning-center/wordpress-3-1-admin-bar-modification.html
eski ama çok güzel bir şarkı 🙂
