- Türkçe Wordpress forumlarında sıkça sorulan sorudur Köşe Yazarları Bölümü nasıl eklerim? Yazarlık eklentisi var mı? Yazarlarıma resim atayamıyorum ne yapmam gerekiyor? Yazar profil sayfasında hata alıyorum? Aslında tüm bunlar html bilgisi hatta ona bile gerek kalmadan yaratılabilecek şeyler. Neyse bunlar için çeşitli örnekler hazırladım. Buyrun
Yazarlık eklentisi olmadan yapılacak köşe yazarlığı bölümleri örnekleri.
- Yapacağım örneklerin hepsinde tek bir yazar üzerinden anlatacağım. Gerekli olan yerlerde çoklu yazar olursa neler yapılması gerektiğinide yazacağım. CSS uygulayarak kendi temanıza göre düzenleyerek daha da güzelleştirebilirsiniz. Wp 2.0.X , 2.1.X ve 2.2.X sürümleri için geçerlidir.
1. Yazar Adı ve Mesaj Sayısı
2. Yazar Resmi ve Linki
3. Mesajının Yanında Yazarın Resmi
- Kaç adet yazar varsa liste o şekilde uzun olacaktır.
SS:

Kod:
1 2 3 4 5 6 | <li><h2>Yazarlarımız</h2> <ul> <?php wp_list_authors('show_nickname=1&optioncount=1&exclude_admin=0'); ?> </ul> </li> |
RSS Ekledik:
SS:

Kod:
1 2 3 4 5 6 | <li><h2>Yazarlarımız</h2> <ul> <?php wp_list_authors('show_nickname=1&optioncount=1&exclude_admin=0&feed=RSS'); ?> </ul> </li> |
SS:

Kod:
1 2 3 4 5 6 | <li><h2>Yazarlarımız</h2> <ul> <a href="<?php echo get_settings('home'); ?>/?author=1"><img src="<?php bloginfo('stylesheet_directory'); ?>/images/yazar.jpg" title="<?php the_author() ?> tarafından gönderilen tüm yazılar." /></a> </ul> </li> |
RSS İle Takip Etmek İçin:
Kod:
1 2 3 4 5 6 | <li><h2>Yazarlarımız</h2> <ul> <a href="<?php echo get_settings('home'); ?>/?feed=rss2&author=1"><img src="<?php bloginfo('stylesheet_directory'); ?>/images/yazar.jpg" title="<?php the_author() ?> tarafından gönderilen tüm yazıları RSS ile Takip edin." /></a> </ul> </li> |
?author=1 : 1 sayısı yazarın numarasını verir. Kaç adet yazar varsa ul etiketleri arasındaki kodu kopyalayarak çoğaltabilirsiniz.
/images/yazar.jpg : Yazarınızın temanızın images klasöründeki resminin adını veriyor.
- Her mesajın yanında 40X50px otomatik ufaltılan Yazarın resmi ve yazar sayafasına link verilir. Bunun için Profile-Picture eklentisini kullanmanız gerekiyor. (Ekten indirebilirsiniz.)
- Eklentiyi indirdikten sonra wp-content/uploads/authors/ klasörü oluşturmak yada var ise CHMOD ayarlarını 777 yapmanız yeterli. Her yazar Profil kısmından resmini ekledikten sonra yazısında kendi resmi yer alacak. Eklenecek resimler jpg-png-gif olabilir. Gerekli ayarları Tercihler/Profil Pictures sekmesi altında yapabilirsiniz.
Eklentinin Adresi: http://geekgrl.net/2007/01/02/profile-pics-plugin-release/
NOT: Eklenti eski olduğu için eklediğiniz resmi Yönetim/Profil sekmesinde göstermez ama o yazar için o resim ilgili klasör altına kaydedilmiştir.
SS:

Kod:
- index-search-archive.php sizin isteğinize kalmış Yazar resminin görünmesini istediğiniz yere ekleyiniz. Loop içersinde bir noktaya ekleyiniz.
1 2 | <a href="<?php echo get_option('home'); ?>/?author=<?php the_author_ID(); ?>"><img src="<?php echo get_option('home'); ?>/wp-content/uploads/authors/<?php the_author_ID(); ?>.jpg" height="50" /></a> |
.jpg : Siz tek bir uzantıda karara varmalısınız. jpg olan tüm yazar fotografları otomatik olarak gözükür. Eğer png olarak yükleniyorsa png resimler yüklenmeli ve .jpg yerine .png yazmalısınız.
- Yanmenülerde kullanılabilecek Resimli Yazar Listesi:
- Otomatikman yazarın id numarasına göre sıralama yapar ve listeler.
- Yazarınızın numarası: Mesela admin 1 numaradır diğer yazarlar uyelik sırasına göre numara alırlar. Gerekli klasöre 1.jpg 2.jpg olarak bırakmalısınız… Eklentiyi kullanıyorsanız sorun yoktur.
SS:

.
Kod:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<h2>Yazarlarımız:</h2>
<ul>
<?php
$order = 'user_nicename';
$user_ids = $wpdb->get_col("SELECT ID FROM $wpdb->users ORDER BY $order"); // query users
foreach($user_ids as $user_id) : // start authors' profile "loop"
$user = get_userdata($user_id);
?>
<li><?php echo '<a href="' . get_author_posts_url($user->ID, $user->user_nicename) . '" title="Yazarımız: ' . $user->user_nicename . ' Hakkında Detaylı Bilgiye Ulaşın."><img src="http://localhost/start/pressword/wp-content/uploads/authors/' . $user->ID . '.jpg" height="100"/></a>'; ?></li>
<?php
endforeach; // end of authors' profile 'loop'
?>
</ul> |

.
height=”100″ : Resimleri otomatik 100px yüksekliğe ayarlar.
.jpg: Yukarıda açıklamasını yapmıştım.
http://localhost/start/pressword : bu bölümü kendi site adresinizi yazacaksınız. ![]()
.
- author.php olarak UTF-8 kodlaması ile kaydetmeniz gerekiyor. Türkçe karakter sorunu yaşamak istemiyorsanız. Temanızın klasörü içersine kopyalayın. Öncelikle kendi temanızıa göre düzenlemeniz gerekiyor.
1. Resimsiz Profil Sayfası:
- Benim her zaman kullandığım yazar sayfam…
SS:

Kod:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | <?php get_header(); ?> <div id="content" class="narrowcolumn"> <?php if(isset($_GET['author_name'])) : $curauth = get_userdatabylogin($author_name); else : $curauth = get_userdata(intval($author)); endif; ?> <h2>Yazar Adı : <?php echo $curauth->nickname; ?></h2> <?php if(isset($curauth->user_url)) { ?> <h2>Website Adresi : <a href="<?php echo $curauth->user_url; ?>"><?php echo $curauth->user_url; ?></a></h2> <?php } ?> <h2>Yazar Hakkında : </h2> - <?php echo $curauth->description; ?> <h2><b>Kayıt Tarihi: </b></h2><?php _e($curauth->user_registered); ?> <h2><b>E-Mail: </b></h2> <?php _e($curauth->user_email); ?> <?php if ( have_posts() ) : ?> <h2>Yazarın (<?php echo $curauth->nickname; ?>) <?php the_author_posts(); ?> Mesajı Yayınlanmış :</h2> <ul> <?php while ( have_posts() ) : the_post(); ?> <li><span class="category"><?php the_time('d/m/Y'); ?> : <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link: <?php the_title(); ?>"><?php the_title(); ?></a> ( <?php the_category('-');?> )</span><br /></li> <?php endwhile; ?> </ul><?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?> <?php else: ?> <h1>Yazara ait mesaj bulunamadı.</h1> <?php endif; ?> </div> <?php get_sidebar(); ?> <?php get_footer(); ?> |
2. Resimli Profil Sayfası:
- kullanılan eklentinin yapımcısı tarafından kullanılan resimli profil sayası örneği.
SS:

KOD:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | <?php get_header(); ?> <div id="content" class="narrowcolumn"> <!-- This sets the $curauth & $authid variables --> <?php if (isset($_GET['author_name'])){ $curauth = get_userdatabylogin($author_name); $authid = $author_name; } else { $curauth = get_userdata(intval($author)); $authid = intval($author); } ?> <div id="profilebox" style="min-height: <?php author_image_dimensions(author_image_path($authid, false, 'absolute'), 'height', true); ?>px;"> <?php author_image_tag($authid, 'align=right'); ?> <h2><?php _e($curauth->first_name); ?> <?php _e($curauth->last_name); ?></h2> <p><b>E-Posta: </b> <?php _e($curauth->user_email); ?> <p><b>Web Site: </b><a href="<?php _e($curauth->user_url); ?>"><?php _e($curauth->user_url); ?></a> <p><b>Kayıt Tarihi: </b><?php _e($curauth->user_registered); ?> <p><b>Hakkında: </b><?php _e($curauth->description); ?> </div> <h2>Yazar (<?php echo $curauth->nickname; ?> ) tarafından gönderilen yazılar:</h2> <ul> <!-- The Loop --> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <h3> <a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h3> <small><?php the_time('j F Y') ?> </small> <?php the_content('Devamı'); ?> <p> <?php comments_popup_link('0 Yorum "', '1 Yorum "', '% Yorum "'); ?> </p> <?php endwhile; ?> <?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?> <?php else : ?> <p>Yazarın henüz yayınlanmış yazısı bulunmamakta.</p> <?php endif; ?> <!-- End Loop --> </ul> </div> <?php get_sidebar(); ?> <?php get_footer(); ?> |
- Sitenizde yorumcu olarak bulunan kişilerin yorumlarındaki isimlerine tıklandığında kendi profil sayfalarına ulaşmalarını sağlayan küçük bir link… Dikkat edilmesi gereken nokta ise dışarıdan yorum yapan kullanıcıların profil sayfası oluşmayacağı için sorun yaratabilir.
comment.php içersinden bu kodu bulunuz…
1 2 3 4 5 6 7 8 | <?php foreach ($comments as $comment) : ?> <li <?php echo $oddcomment; ?>id="comment-<?php comment_ID() ?>"> <cite><?php comment_author_link(); ?> </cite> diyor ki: <?php if ($comment->comment_approved == '0') : ?> <em>Yorumunuz onay için bekliyor.</em> <?php endif; ?> |
yerine bu kodu ekleyiniz…:
1 2 3 4 5 6 7 8 | <?php foreach ($comments as $comment) : ?> <li <?php echo $oddcomment; ?>id="comment-<?php comment_ID() ?>"> <cite><a href="<?php echo get_option('home'); ?>/?author_name=<?php comment_author(); ?>"><?php comment_author(); ?></a></cite> diyor ki: <?php if ($comment->comment_approved == '0') : ?> <em>Yorumunuz onay için bekliyor.</em> <?php endif; ?> |
Kaynak: WP Codex
NOT:
-Tüm işlemler default wordpress temada yapılmıştır. Siz kendi temanıza istediğiniz şekilde uyarlayabilirsiniz.
- Yukarıda verilen eklentiyi illaki kullanmanıza gerek yoktur. Resimleri tek bir klasör altında toplayıp yazar numarasına göre düzenlemeniz yeterli. Ama ben bunlarla uğraşmak istemiyorum yazarlar resimleri yüklesinler resimler otomatik çıksın istiyorsanız kesinlikle bu eklentiyi kullanmalısınız.
- Eğer yazar profil sayfası yapmak istiyorsanız Page Navi eklentisinin yüklü olması gerekiyor.
Köşe Yazarları SistemiDosya Boyutu: 29,2 KiB
İndirme Sayısı: 57 kez
Eklenme Tarihi: 09 Ekim 2009
Açıklama: Wordpress sisteminizde yan menünüzde köşe yazarları ve yazara özel sayfa oluşturulması içeren dökümandır.
- Bu bölümün kısaca açıklaması şu şekilde. Feedburner.com adresinden aldığınız hesaba her yazarınızın rss adresini tanımlamanız gerekiyor. Bu tanımladığınız adreslere feedburner bir takip adresi vermektedir. İşte bu adresi aldıktan sonra :
Wordpress sürümünüz: 2.6 ve altında ise
1 http://codex.wordpress.org/Function_Reference/fetch_rss
2 http://codex.wordpress.org/Function_Reference/wp_rss
adreslerindeki fonksiyonları kullanmanız gerekiyor.
Wordpress sürümünüz: 2.8+ için
1 Feedburner.com hesabımıza her bir yazarımızı için bir feed adresi tanımlıyoruz.
2 Her yazarımız için bir resim dosyası oluşturuyoruz. Tabiyki isterseniz gravatarda kullanabilirsiniz. hangisi kolayınıza gelirse.
3 Yazarın son yazısını listelemek için ise: http://codex.wordpress.org/Function_Reference/fetch_feed adresindeki fonksiyonu kullanacağız.
<h2>Yazar kadrosu</h2> <?php // RSS Beslemeleri include_once(ABSPATH . WPINC . '/feed.php'); // SimplePie besleme objesini çalıştırıyoruz. Bunun için bir adet rss adresine ihtiyacımız var. Feedburner'dan yazarımız için oluşturduğumuz rss adresini giriyoruz. $rss = fetch_feed('http://feedburner/adres/buraya/girilecek'); // Yazarın yazdığı kaç adet yazı listelenmesini istiyorsunuz? Örnek: 5 $maxitems = $rss->get_item_quantity(5); // 0 dan başlayarak tüm rss beslemesindeki listeleri çekmeye başlıyoruz. $rss_items = $rss->get_items(0, $maxitems); //Yazarımızın resmi geliyor. ?> <strong>Yazarımızın Adı</strong> <img src="http://yazarin/resmi/url/adresi" alt="" /> <ul> <?php if ($maxitems == 0) echo '<li>Yazı Bulunamadı.</li>'; else // Foreach döngüsünü kullanarak her bir yazının detaylarını çekiyoruz. foreach ( $rss_items as $item ) : ?> <li> <a href='<?php echo $item->get_permalink(); ?>' title='<?php echo $item->get_date('d F Y'); ?>'> <?php echo $item->get_title(); ?></a> </li> <?php endforeach; ?> </ul>
NOT:
- Her yazar için bu sistemi tekrar etmeniz gerekiyor.
- Yazar adı ve diğer bilgilerini girmek isterseniz get_userdata fonksiyonunu inceleyiniz.
- CSS düzenlemesi tamamen size ait.
Örnek1: Örnek olarak verilen kod 2 adet yazarın: yazar ad-soyad, gravatar resimleri, feedburnera kayıt olan rss adreslerinden çekilen son yazısının başlığını listelemektedir. Siz bunu istediğiniz kadar yazarı ekleyip çoğaltabilirsiniz.
<div class="widget clearfloat"> <h3 class="widgettitle">Yazar Kadrosu</h3> <div class="textwidget"> <?php // Bilgilendirme: // Sidebar.php dosyasına yada istenilen yere <?php include (TEMPLATEPATH . "/yazarkadrosu.php"); ? > kodunu eklemek yeterlidir. // Get RSS Feed(s) include_once(ABSPATH . WPINC . '/feed.php'); //Yazar idlerini giriniz // Her Yazar için bir değişken girmeniz yeterli. // $uc = 35; $uc değişkenin adı, 35 ise yazarın idsi. $bir = 9; $iki = 30; //Yazar verilerini çekiyoruz // Üst bölümde girdiğimiz yazarın idsini burada yazar adı ve soyadını çekmek için kullanıyoruz. // $uc_bilgi = get_userdata($uc); $uc_bilgi değişkenin adı, $uc ise bir ust bölümde tanımladığımız user id. $bir_bilgi = get_userdata($bir); $iki_bilgi = get_userdata($iki); // Her bir yazar için tek tek girmeniz gerekmekte. $rss = fetch_feed('http://feeds.feedburner.com/otomotyazarbir'); $rss_s = fetch_feed('http://feeds.feedburner.com/otomotyazariki'); // Figure out how many total items there are, but limit it to 5. $maxitems = $rss->get_item_quantity(1); $maxitems_s = $rss_s->get_item_quantity(1); // Build an array of all the items, starting with element 0 (first element). $rss_items = $rss->get_items(0, $maxitems); $rss_items_s = $rss_s->get_items(0, $maxitems_s); ?> <!-- kose yazari basi --> <a href="<?php bloginfo('url'); ?>?author=<?php echo $bir; ?>"><?php echo get_avatar( $bir, 50); ?></a> <div id="authorkose"> <a href="<?php bloginfo('url'); ?>?author=<?php echo $bir; ?>"> <span class="stil2"><?php echo $bir_bilgi->first_name; ?> <?php echo $bir_bilgi->last_name; ?> </span></a><br /> <?php if ($maxitems == 0) echo 'Yazı Bulunamadı'; else foreach ( $rss_items as $item ) : ?> <a href='<?php echo $item->get_permalink(); ?>' title='<?php echo $item->get_date('d M Y'); ?>'><?php echo $item->get_title(); ?></a> <?php endforeach; ?> </div> <!-- kose yazari sonu --> <!-- kose yazari basi --> <a href="<?php bloginfo('url'); ?>?author=<?php echo $iki; ?>"><?php echo get_avatar( $iki, 50); ?></a> <div id="authorkose"> <a href="<?php bloginfo('url'); ?>?author=<?php echo $iki; ?>" class="stil2"><?php echo $iki_bilgi->first_name; ?> <?php echo $iki_bilgi->last_name; ?></a><br /> <?php if ($maxitems_s == 0) echo 'Yazı Bulunamadı'; else foreach ( $rss_items_s as $items ) : ?> <a href='<?php echo $items->get_permalink(); ?>' title='<?php echo $items->get_date('d M Y'); ?>'><?php echo $items->get_title(); ?></a> <?php endforeach; ?> </div> <!-- kose yazari sonu --> </div> </div><!--widget bitti -->
- Wordpress 2.7 + sürümler için hazırlanmış bir köşe yazarları fonksiyonu geliştirilmiştir. Henüz dağıtılması düşünülmemekte. İletişime geçerek bilgi alabilirsiniz.
Fonksiyonun özellikleri:
1 WP 2.7+ sürümünü destekler.
2 Temanıza özel hazırlanmış css içerir.
3 Yazar resmi (gravatar), yazarın adı-soyadı, rss adresi, yazarın son yazısının başlığı ve yazı içeriğinin bir bölümü çekilerek gösterilmekte.
4 Tek bir fonksiyonu temanızda nerede yazar kadrosu gösterilmesini istiyorsanız o bölüme entegre ediyorsunuz gerisine karışmıyorsunuz.


Destek
Takip

Evet yanlış kodu vermişim şimdi baktım…. Doğru kod aşağıdaki gibi olacak yine aynı yolu izleyip yapabilirsiniz…
Her şey için çok teşekkür ediyorum. Sayenizde en çok yapmak istediklerimi gerçekleştirdim. Hemen her gün sitenizdeyim sizden o kadar şey öğrendim ki..! Kolay gelsin.
S.A sayın hocam her şey iyi güzelde benim gibi memur emeklisi bu işi sonradan öğrenen bir kişi olarak bu yaptıklarınızı şu kodlar şu dosya içine şu koddan sonra v.s. gibi ayrıntı ekleseydiniz inanın sizi hiç mi hiç rahatsız etmezdim.
merhaba. yukarıda anlattığınız şekilde dosyaları düzenlemiştim. problem yazarların yazı sayıının listelenmesinde. bugüne kadar yazı sayısı kaçsa o kadar yazıyordu ancak bugün aynı yerde bütün yazarların yazı sayısı “1″ olarak görünüyor. loop’ta yeri değiştirince de her yazının üstünde yazı sayısı yazıyor. ne yapacağım bilemedim. yerel sunucumda çalıştırıyorum düzgün ancak siteye attığım zaman “1″ görünüyor. cevabınızı bekliyorum. teşekkür ederim.
Ben RSS olanı ekleyebildim. Güzel oldu.
tebrikler.
Merhaba, 2.8.3 sürümünde bu kodlar olmuyor. Örneğin yazar maili, web sitesi ve birçok kod bu sürümde olmuyor. Sizce nedeni nedir?
Yeni bir tema çalışması yapıyorum. Bu çalışmada özel bir kçşe yazarları bölümü oluşturulması istendi bu nedenle bende son sürüm wordpresse uygun bir fonksiyon yazmaya çalışıyorum. Bugün yada yarın bunu duyururum.
- Yazarın Adı.
- Yazarın Resmi
- Yazarın son yazdığı yazının adı ve bağlantıı listelenmekte.
ellerinize sağlık
Yeni wordpress sürüm için böyle bir çalışmanız var mı? Olacak demişsiniz ama oldu mu acaba?
Tşk ler
Evet fonksiyon hazır hatta 3 versiyon şeklinde hazır. Ama henüz bedava olarak dağıtmayı düşünmüyorum.
Özellik olara:
- İsterseniz sadece yazarların idsini yazarak listeleme yapabiliyorsunuz. İsterseniz user_level’e göre listeleme yapabiliyorsunuz. İstersenizde sadece fonksiyonu ekleyip gerisine karışmıyorsunuz. Şu an sistemi 2 site farklı şekillerde kullanmakta.
teşekkürler işime yaricağindan eminim.
bunun 2.9.2 için olanı varmı?