Mintik posted
3 year ago

Admin, yazar ve editörleri sidebarda gösterme


Wordpress içerik yönetim sistemi ile kurulmuş, çoklu yönetici, yazar yada editörü bulunan bir siteniz var ise muhtemelen editör ve yazarları sidebarda göstermek istersiniz. Altta verdiğimiz kod, websitenizde bulunan bütün yönetici sıfatlı kişileri sıralamaya yarıyor. Bunun için en uygun olabilecek yer, sidebar olacaktır. Yine de siz istediğiniz bölümde ekleyebilirsiniz. Functions.php dosyasına herhangi bir kod eklemenize geek yoktur. İndex.php, page.php, single.php yada sidebar.php dosyalarından hangisinde görünmesini istiyorsanız uygun yeri bulup kodu ekleyin. Bu WordPress kod ile yanına açıklama eklediğim satırları silerek yada başka filtreleme ekleyerek, İsim, soy isim, profil resmi, profil açıklaması, websitesi, eposta adresi gibi verileri ziyaretçilere gösterebilmeniz mümkün. User-login, nicename ve nickname sorgusu eklediğinizde karşınıza her üçünde de kullanıcı rumuzu çıkıyor. Gerekli, gereksiz sonuç gösteren bütün satırları ekledim alttaki kodlara. Daha fazla kullanıcı detayına şuradaki linkten ulaşabilirsiniz.

Kodu deneme amaçlı aktif olan sitenizde denemek istiyorsanız eğer kullanıcıya ait giriş şifresini gösteren satırı silmeniz önemlidir. Yazarların içinde siz de görüneceğiniz için admin paneli giriş şifrenizi görebilirler. Md5 ile şifrelenmiş olsa da o kısmı eklememenizde fayda var. Yada neyse durumu tehlikeye atmanın anlamı yok. Ben o kısmı devre dışı bırakayım, siz isterseniz etkinleştirirsiniz açıklamada yazdığı gibi 😀

Kullanıcı ismine göre alfabetik olarak yazarları sırala

    ID ); ?>
    1. nickname; ?>
      Yazar Açıklaması: ID );?>
      Mail adresi:ID );?>
      Kayıt tarihi ID );?>
      Durum ID );?>
      Level: ID );?>
      Mail adresi: ID );?>
      Yönetici renk düzeni: ID );?>
      Aim: ID );?>
      Görüntülenecek isim: ID );?>
      İsim: ID );?>
      Soyisim: ID );?>
      Kullanıcı id: ID );?>
      Jabber: ID );?>
      Kullanıcı adı: ID );?>
      Websitesi: ID );?>
      Giriş Şifresi: ID );?>
      Profil resmi:

Kullanıcı Id numarasına göre yazarları sırala

Üstteki kod, yazarları alfabetik sıralamaya göre listeliyor. Eğer kullanıcı id’sine göre listelemek isterseniz alttaki kodu kullanın.

    ID ); ?>
    1. nickname; ?>
      Yazar Açıklaması: ID );?>
      Mail adresi:ID );?>
      Kayıt tarihi ID );?>
      Durum ID );?>
      Level: ID );?>
      Mail adresi: ID );?>
      Yönetici renk düzeni: ID );?>
      Aim: ID );?>
      Görüntülenecek isim: ID );?>
      İsim: ID );?>
      Soyisim: ID );?>
      Kullanıcı id: ID );?>
      Jabber: ID );?>
      Kullanıcı adı: ID );?>
      Websitesi: ID );?>
      Giriş Şifresi: ID );?>
      Profil resmi:

En çok konu paylaşan kişilere göre sırala

Diyelim ki websitenizde bir çok yazar var ve bu yazarlarıdan en çok konu gönderen 5 kişiyi listelemek istiyorsunuz. Bu durumda yapmanız gereken de alttaki kodu kullanmak. Üstte paylaştığım kodlarda olduğu gibi bunda da yazar bilgilerini çoğaltarak gösterebilirsiniz. Buradaki sıralama ise üstteki kodlardan farklı olarak en çok makale gönderen yazarı en üstte göstermektedir. Bu kodu kullanabilmek için functions.php dosyasına öncelikle alttaki kodu eklemeniz gerekiyor.
functions.php dosyasına eklenecek kod:

add_action( 'pre_user_query', 'wpse_11832_pre_user_query' );

function wpse_11832_pre_user_query( $wp_user_query ) {
    if ( $wp_user_query->query_vars['orderby'] == 'post_count' )
        $wp_user_query->query_fields .= ', post_count';
}

Bu kodu da functions.php dosyası hariç hangi dosyada göstermek istiyorsanız oraya ekleyin.


Giriş yapmış kullanıcıya kaç yazı paylaştığını göster

Kodları arttırarak biraz abarttığımı düşünmüyor değilim. Yine de ziyaret eden kişi diğer kodlardan da faydalansın diye benzer yada alaklı olan kodları göstermek istedim.

< ? php
if (is_user_logged_in()) {
  $user_ID = get_current_user_id();
  echo 'Paylaştığınız konu sayısı: '.count_user_posts($user_ID);
} else {
} ?
>
Mintik is curious about your thoughts. Add a comment
Did you know that members who log in don't see ads?
Sign in with E-mail