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 görünecek '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ı 🙂
“WordPress Admin Bar yeni bir şey eklemek veya kaldırmak” için 4 yanıt
merhaba,
http://rasitozkardes.k12.tr/ adlı okul sitesinin amatör uğraşanlarıyız. admin bar da onay bekleyen yazıları nasıl gösterebiliriz? yazınızdan oldukça faydalansak ta çözüm üretemedik.
yorumlarda, bekleyen yorumlar nasıl gösteriliyorsa, üyelerimizin yayınlamak üzere inceleme bekleyen yazılarını da bu şekilde göstermek istiyoruz.
yardımcı olabilirseniz çok memnun kalacağız, şimdiden teşekkür ederiz.
iyi çalışmalar
aşağıdaki fonksiyon admin panelinde soldaki menüde bekleyen yazıları gösteriyor:
admin barda göstermesi için bilmiyorum yukarıdaki fonksiyonu geliştirip eklemek lazım onu da yapabilirsiniz belki ben şimdi hemen yapamadım.
yukarıdaki fonksiyonu temanın function.php isimli dosyasınıda müsait bir yere yazacaksınız.
kolay gelsin.
teşekkür ediyorum, kodlardan yola çıkarak pending posts indicator eklentisine ulaştım.
verdiğiniz kodlarla veya eklentinin kodlarından yola çıkarak anasayfa admin barda inceleme bekleyen yazıları nasıl gösterebilirim? şu an yönetim panelinde görünüyor.
yazdığım zatejn eklentinin fonksiyonu. 🙂 nasıl göstereceksin işte bunu admin_bar a ekleyerek 🙂 ben mi yapayım onu da. bence sen şurada böyle bir eklenti ararsan işini görürsün http://wordpress.org/extend/plugins/search.php?q=admin+bar