WordPress üzerinde her kullanıcıya atanan default avatar yerine daha seçenekli avatarlar atayabilirsiniz. Normalde WordPress üzerinde böyle bir seçenek bulunmamakta. Üye olanlar gravatar’a üye olup varsayılan avatarlarını değiştirebilirler. Fakat üye kaydı olmayan siteler ne yapmalı?.
Normalde eklenti kullanmayı destekleyen birisi değilim bilirsiniz. Ama her kullanıcının manuel olarak kendi avatarını belirlemesini istiyorsanız WP User Avatar eklentisini kullanabilirsiniz.
Ama her site sahibi üye kabul etmeyebilir. Peki yorum yapanlara eklentisiz avatar nasıl atayacağız. Bunun için 2 yöntem anlatacağım.
Anlatım 1 : İlk anlatacağım yöntem’de tek bir avatar kullanımından bahsedeceğim. Site üzerinde sizin belirlediğiniz tek bir avatar ile yorum yapan diğer insanlarada avatar sağlamış olacaksınız.
1-) İlk olarak temamızın içindeki “functions.php” dosyasının bir yedeğini alıyoruz.
2-) functions.php dosyasını açtıktan sonra “<?php” buluyoruz ve aşağıdaki kodu altına yerleştiriyoruz.
/*--------- Default Avatar Değiştirme Fonksiyonu ---------*/ add_filter( 'avatar_defaults', 'new_custom_default_gravatar' ); function new_custom_default_gravatar ($avatar_defaults) { $myavatar = get_bloginfo('template_directory') . '/_img/avatar.jpg'; $avatar_defaults[$myavatar] = "Avatar - PD"; return $avatar_defaults; } /*--------- Default Avatar Değiştirme Fonksiyonu ---------*/
3-) ” _img/avatar.jpg ” bölümünden tema klasörünüz içindeki avatar’ınızı ayarlayabilirsiniz. “Avatar – PD” yerinide sizin belirlediğiniz bir başlık ile değiştirebilirsiniz. Kodu function.php dosyanıza entegre ettikten sonra sunucunuza (hostunuza) temanızın bulunduğu dizine tekrar yükleyin.
4-) Yükleme işleminiz bittikten sonra Admin Panelinden Ayarlara gelip Tartışma sekmesini açıyoruz. Function.php dosyasında atadığımız avatar Tartışma sekmesinde Varsayılan avatar başlığı altına gelmiş oluyor.
Varsayılan Avatar başlığından atamış olduğunuz avatar’ı seçip değişiklikleri kaydet demelisiniz. Bu sayede siteniz içinde varsayılan avatar sizin belirlediğiniz avatar olarak atanıyor.
Anlatım 2 : 2. olarak anlatacağım yöntem ise varsayılan avatar yerine sürekli değişen avatar atamak olucak. Her sayfanın yenilenmesinde yorum yapanların avatarlarıda değişicek.
1-) İlk olarak temamızın içindeki “functions.php” dosyasının bir yedeğini alıyoruz.
2-) functions.php dosyasını açtıktan sonra “<?php” buluyoruz ve aşağıdaki kodu altına yerleştiriyoruz.
/*** Sayfa yenilenmesinde avatar değişimi ***/ add_filter('get_avatar', function($avatar, $id_or_email, $size, $default, $alt){ $user = false; if ( is_numeric( $id_or_email ) ) { $id = (int) $id_or_email; $user = get_user_by( 'id' , $id ); } elseif ( is_object( $id_or_email ) ) { if ( ! empty( $id_or_email->user_id ) ) { $id = (int) $id_or_email->user_id; $user = get_user_by( 'id' , $id ); } } else { $user = get_user_by( 'email', $id_or_email ); } if ($user && is_object($user)) return $avatar; // istediğin kadar avatar'ı bu şekilde ekleyebilirsiniz $avatarlar = array( 'http://www.polatdugan.com/wp-content/themes/polatdugan-v1/_img/avatar1.jpg', 'http://www.polatdugan.com/wp-content/themes/polatdugan-v1/_img/avatar2.jpg', 'http://www.polatdugan.com/wp-content/themes/polatdugan-v1/_img/avatar3.jpg', 'http://www.polatdugan.com/wp-content/themes/polatdugan-v1/_img/avatar4.jpg', 'http://www.polatdugan.com/wp-content/themes/polatdugan-v1/_img/avatar5.jpg', 'http://www.polatdugan.com/wp-content/themes/polatdugan-v1/_img/avatar6.jpg', 'http://www.polatdugan.com/wp-content/themes/polatdugan-v1/_img/avatar7.jpg', 'http://www.polatdugan.com/wp-content/themes/polatdugan-v1/_img/avatar8.jpg', 'http://www.polatdugan.com/wp-content/themes/polatdugan-v1/_img/avatar9.jpg', ); return '<img src="'.$avatarlar[array_rand($avatarlar)].'" width='.$size.' height='.$size.' alt="'.$alt.'"/>'; }, 1, 5); /*** Sayfa yenilenmesinde avatar değişimi ***/
3-) Kodu function.php dosyanıza entegre ettikten sonra sunucunuza (hostunuza) temanızın bulunduğu dizine tekrar yükleyin. Unutmadan tema klasörünüz içindeki resim klasörünüzede avatarlarınızı atmayı unutmayın.
4-) Yükleme işleminiz bittikten sonra sitenizde yorum yapan kullanıcıların avatarları random olarak sayfa yenilenmesi olduğunda değişicektir.
Fakat yorumlara yanıt olarak yazdığınız cevaplardaki avatar random olarak değişmez ise Anlatım 1‘deki kodu da function.php dosyasına entegre etmeniz ve sizin kendi avatarınız olarak hangi avatarı atamak istiyorsanız ona göre ayarlama yapmanız yeterli olacaktır.
– Tüm işlemlerinizi yaptıktan sonra sıkıntı çıkması durumunda yedeklediğiniz function.php dosyasını tekrar sunucuya yüklemeniz ayarları eski haline getirecektir.
İyi günler dilerim, bir sonraki makalemde görüşmek üzere