Çok kullanıcılı blogların işine yarayacak bir yöntemden bahsetmek istiyorum. Anasayfanızda yazıların alt bilgilerinde yazıyı kimin gönderdiğine dair bir bilgi bulunur, yoksa da kendiniz ekleyebilirsiniz, bu;
[sourcecode language=’php’]Yazar: < ?php the_author() ?>[/sourcecode]
şeklinde bir koddur. Fakat bu kodda herhangi bir bağlantı veya gönderme yoktur. Eğer bu kodu
[sourcecode language=’php’]Yazar: < ?php the_author_posts_link(); ?>[/sourcecode]
şekline dönüştürürseniz yazar ismini bir bağlantıyla birlikte görünür yaparsınız. Bu ise yazar isminin üzerine tıkladığınızda o yazara ait tüm yazılara arşiv sayfasından (archive.php deki formatla) ulaşabilmenize olanak sağlar. Bizim yapmak istediğimiz biraz daha gelişmiş bir yazar sayfası oluşturmak. Bunun için wordpress blog motorunun kullanmamıza imkan verdiği author.php dosyasını devreve sokuyoruz. Planet WordPress için nasıl yazar sayfası oluşturduğumu anlatmayı, dolayısıyla örnekle açıklamayı daha yerinde buluyorum.
Öncelikle home.php (siz index.php veya archive.php ile aynı şeyi yapabilirsiniz) dosyasının bir kopyasını alarak ismini author.php olarak değiştirdim. Bu yeni oluşturduğum author.php dosyasını açarak içerisine döngü başlamadan
[sourcecode language=’php’]< ?php if (have_posts()) : while (have_posts()) : the_post(); ?>[/sourcecode]
yani yukarıdaki satırdan önce şu kodları girdim;
[sourcecode language=’php’]< ?php
if(isset($_GET['author_name'])) :
$curauth = get_userdatabylogin($author_name);
else :
$curauth = get_userdata(intval($author));
endif;
?>
< ?php echo $curauth->nickname; ?> hakkında bilgi
İsim: < ?php echo $curauth->first_name; ?> < ?php echo $curauth->last_name; ?>
Website: WordPress Codex’in ilgili sayfasında bulabilirsiniz. Sonrasında döngümüzün başlangıç satırı olan
[sourcecode language=’php’]< ?php if (have_posts()) : while (have_posts()) : the_post(); ?>[/sourcecode]
var. Bundan sonrada ister sadece yazıların başlıklarını veya meta bilgilerini, isterseniz kısa özetlerini isterseniz de anasayfadaki gibi more takısıyla bölünen kısma kadar olanı gösterbilirsiniz. Ben sadece başlık ve tarih bilgilerini göstermeyi uygun gördüğümden döngünün içerisine var olan ;
[sourcecode language=’php’]
< ?php the_content(__(' »»'));?>[/sourcecode]
bu kodları aşağıdaki şekilde yalınlaştırdım.
[sourcecode language=’php’]
« Özelleştirilmiş Giriş Ekranları | Türkçe Sayfa Sıralama Eklentisi »