- Türkçe Wordpress forumlarında sıkça sorulan sorudur Köşe yazarı 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.
- Wp 2.3.X sürümü için Şubat ayında güncelleme ve yeni bir yazı ile karşınızda olacak. Geliştirilmiş köşe yazarları bölümü.













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.