25
2013
WordPress Giriş Ekranını İyileştirme
WordPress giriş ekranı basit ekranını özelleştirmek isteyenler için birkaç ipucunu bir araya getirdim. İpuçları yardımıyla, giriş ekranındaki logoyu değiştirebilirsiniz, logoya tıklandığında normalde WordPress sitesine giden linki değiştirebilir, kullanıcı giriş yaptığında ya da kullanıcı çıkış yaptığında da istediğiniz bir sayfaya yönlendirebilirsiniz.
Giriş Ekranı Logosonu Değiştirme
WordPress giriş ekranındaki WordPress yazısının bulunduğu logoyu değiştirmek için aşağıdaki kodu temanızın functions.php dosyasına, logo resminizin adresini koddaki ilgili yere yazarak ekleyiniz.
function yakuphoca_ozel_loginlogo() { echo '<style type="text/css"> h1 a {background-image: url("http://www.siteadresiniz.com/wp-content/uploads/logosite.jpg") !important; } </style>'; } add_action('login_head', 'yakuphoca_ozel_loginlogo');
Koddaki resim adresini kendinize göre değiştirmeyi unutmayın, ayrıca resmin boyutları 274x63 piksel boyutlarından büyük olmazsa iyi olur, aksi halde kenarlardaki fazlalıklar görünmez. Aslında bu yöntemle sadece logoyu değil, o ekrandaki her şeyin CSS özelliklerini değiştirebilirsiniz.
Giriş Ekranı Logosunun Linkini Değiştirme
Logoyu değiştirdiniz ama logoya tıklandığında bir de baktınız ki tıklandığında WordPress ana sayfasına gidiyor. Bu adresi değiştirmek için aşağıdaki kodları temanızın functions.php dosyasına eklemeniz yeterli.
function yakuphoca_ozel_loginlogo_url($url) { return home_url(); //aşağıdaki gibi de kullanabilirsiniz //return 'http://www.siteadresiniz.com'; } add_filter( 'login_headerurl', 'yakuphoca_ozel_loginlogo_url' );
Giriş Yaptıktan Sonra Bir Adrese Yönlendirme
WordPress'te kullanıcı giriş yaptıktan sonra yönetim paneline yönlendirilir. Ancak eğer kullanıcılar için hazırladığınız özel bir sayfaya ya da yeniden ana sayfaya yönlendirmek isteyebilirsiniz. Tabi sadece kullanıcılar yönlenecek, yönetici ya da belli bir yetkinin üzerindekiler yönetim paneline yönlendirilecekler. Aşağıdaki kod yöneticiler dışındakileri ana sayfaya yönlendirir. home_url() yerine 'http://www.siteadresiniz/gidilecekadres' yazarak, istediğiniz adrese yönlendirebilirsiniz. Kodu yine functions.php dosyanıza eklemeniz yeterli.
function yakuphoca_login_redirect( $redirect_to, $request, $user ) { if( $user && is_object( $user ) && is_a( $user, 'WP_User' ) ) { if( $user->has_cap( 'administrator' ) ) { $url = admin_url(); } else { $url = home_url(); } } return $url; } add_filter( 'login_redirect', 'yakuphoca_login_redirect', 10, 3 );
Eğer belli bir yetkiye sahip kullanıcılar dışındakilerin yönetim paneli yerine giriş yaptıklarında ana sayfaya ya da belirlediğiniz bir sayfaya gitmelerini isterseniz de aşağıdaki kodu, kendinize göre değiştirip, temanızın functions.php dosyasına ekleyin. Aşağıdaki kod içerik sağlayıcıların sahip olduğu yetkilere ve üzerindeki yetkilere sahip kullanıcılar (edit_posts yetkisine sahip) dışındaki yani aboneleri ana sayfaya yönlendirir. Kullanıcıların yetkileriyle ilgili bilgi edinmek için daha önceden yazdığım Kullanıcıların Yetkileri Nelerdir ve Yetkileri Nasıl Değiştirilir? başlıklı yazımı inceleyebilirsiniz.
function yakuphoca_login_redirect( $redirect_to, $request, $user ) { if( $user && is_object( $user ) && is_a( $user, 'WP_User' ) ) { if( $user->has_cap( 'edit_posts' ) ) { $url = admin_url(); } else { $url = home_url(); } } return $url; } add_filter( 'login_redirect', 'yakuphoca_login_redirect', 10, 3 );
Koddaki home_url() fonksiyonu ana sayfanın adresini verir. İsterseniz tırnak içerisinde http://www.siteadresiniz.com/sayfaadresi şeklinde, istediğiniz bir adrese de yönlendirebilirsiniz.
Çıkış Yapıldığında Ana Sayfaya Gidilsin
Aşağıdaki kodu temanızın functions.php dosyasına eklediğinizde, kullanıcı (yöneticiler vs. de dahil) çıkış yaptığında sitenin ana sayfasına yönlendirilir. Ne yazık ki çıkış yapıldıktan sonra bu işlem yapıldığından, yönetici/kullanıcı ayrımı yapmak mümkün olmamaktadır.
function yakuphoca_cikista_anasayfaya_git(){ wp_redirect( home_url() ); exit(); } add_action('wp_logout','yakuphoca_cikista_anasayfaya_git');
Bonus İpucu: Kullanıcılar İçin Yönetim Paneli Araç Çubuğunu Kaldırma
Aşağıdaki kodları temanızın functions.php dosyasına uygun şekilde eklediğinizde abone rolündeki kullanıcılar için sitenin en üstünde görünen yönetim paneli araç çubuğu görünmez olur.
function yakuphoca_remove_admin_bar() { if (!current_user_can('edit_posts') && !is_admin()) { show_admin_bar(false); } } add_action('after_setup_theme', 'yakuphoca_remove_admin_bar');
Yazı içinde verdiğim ipuçlarından ihtiyaç duyduklarını kullanarak özellikle abone rolündeki kullanıcılar için daha iyi bir giriş deneyimi yaşatabilirsiniz.