WordPress Blog

WordPress’e Yazar Sayfası Eklemek

14.01.2008 | Haberler

Ç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’]
« | »

Bu yazıya link verenler: