WordPress'te neredeyse her yazıya artık özel alan olarak önizleme resmi ekliyoruz. Ama yan menümüzde son yazıları gösterirken genelde yazı başlıklarını gösteririz, peki neden önizleme resimlerini de göstermiyoruz?
Ne yazık ki bunu yapmak için bir bileşen yazacak vaktim yok, eğer siz yazabilirseniz sevinirim. Yan menünüzde yazılara eklediğiniz 'thumnail' isimli özel alanda tutulan resim adresini kullanarak yazılarınızı yan menüde göstermek isterseniz aşağıdaki kodları yan menünüzde ya da yazıları nerede göstermek isterseniz oraya ekleyin. Tabi kendinize göre uygun değişiklikleri yapmayı unutmayın.
- <li><h2>Son Yazılar</h2>
- <ul class="son_yazilar">
- <?php $myposts = get_posts('numberposts=10&offset=1');
- foreach($myposts as $post) {
- $image = get_post_meta($post->ID, 'thumbnail', true);
- ?>
- <li>
- <?php if ($image) echo "<img src='$image' width='48' height='48' alt='' />"; ?>
- <a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_time('d F Y'); ?>"><?php the_title(); ?></a>
- <div class="clear"></div></li>
- <?php }; ?>
- </ul>
- </li>
Kod içerisinde geçen 'thumbnail' ifadesi yerine, yazılar için kullandığınız önizleme resminin özel alan adını yazınız. Ayrıca daha düzgün bir görünüm için aşağıdaki CSS kodlarını temanızın style.css dosyasına ekleyin.
- .son_yazilar li img{
- float:left;
- margin-left: 5px;
- }
- .clear {
- clear:both;
- }
Aslında bunları yapmak Recent Posts isimli bir eklenti var ancak eklentinin çalışabilmesi için Post Plugin Library isimli eklentiyi de kurmanız gerekiyor. Doğrusu böylesine basit bir işlem için toplamda yaklaşık 200 KB'lik bir eklentiyi kullanmak istiyorsanız bunları kullanabilirsiniz.
Bu yazının kısa bağlantısı http://www.yakupgovler.com/?p=919.
Yazılarımı RSS aboneliği ile takip edebilir, yeni yazılarıma kolaylıkla ulaşabilirsiniz. Bunun için ise RSS adresimi kullanabilirsiniz.
Tarih: 30 Haziran 2009 Saat: 09:54
Teşekkürler Yakup bey..
Tarih: 30 Haziran 2009 Saat: 11:13
Teşekkrler hocam benimde kullanacağım bir uygulama sağolsun r10 forumlarında "loperselim" yardımcı oldu bir kod yazdı sorunsuz çalışıyor fakat sizin yazdığınız arasnda fark var merak ettim
Siz kod başında global $ post; kullanmamışsınız ?
Gösterilecek yazı sayısına ek olarak & offset=1 eklemişsiniz ?
Bir de $ image kodları içinde $ single = true yerine sadece true kullanmışsınız ?
Tarih: 30 Haziran 2009 Saat: 11:15
Sanırım kodlar yorumda görnmedi alternatif link 🙂
http://pastebin.com/m234f4625
Tarih: 30 Haziran 2009 Saat: 11:43
get_posts fonksiyonu verdiğimiz parametrelere (query_post fonksiyonuyla aynı parametreleri alır) göre yazıları çeker. For each döngüsü ile gelen yazıları parça parça alıyorum bu neden $post kullanmaya gerek yok. Hatta kullanmak problem yaratabilir. Offset 1, birinci yazıdan başlaması için, belki gerekli de olmayabilir.
$single = true ile sadece true kullanmak arasında bir fark yok, benim kullandığım şekli daha uygun.
Catswhocode sitesinde yazı sonunda verdiğim eklentiler kullanılmaktadır.
Verdiğim kodları function.php dosyasına bir fonksiyon olarak ekleyip, yan menü dosyasından çağırırsanız çok daha iyi olur.
Tarih: 30 Haziran 2009 Saat: 12:24
Teşekkürler hocam
Tarih: 30 Haziran 2009 Saat: 13:19
Bir türlü function.php dosyasında çağıramadım diğer temalara göre denemeler yaptım ama bir şeyler yanlış hata veriyor nasıl oluyor bu işlem ? çözemedim
Tarih: 30 Haziran 2009 Saat: 13:33
function.php dosyasına aşağıdaki kodları ekleyerek, yazımdaki kodları fonksiyon haline getirmiş olursunuz. Kod içerisinde geçen * yıldız karakterini silmeyi unutmayın. WP bağlantı kodlarına rel="nofollow" eklediğinden kodu böyle yazmak zorunda kaldım.
Koddaki 15 rakamını değiştirerek farklı sayıda yazı gösterebilirsiniz ayrıca aynı yöntemle farklı yerlerde de yazıları listelebilirsiniz.
Tarih: 30 Haziran 2009 Saat: 14:05
function.php dosyasında php kapanış kodundan önce bir sorun var gibi. Bir türlü çalıştıramadım Yakup Öğretmenim.
Tarih: 30 Haziran 2009 Saat: 14:13
Kod içerisine geçen bağlantı koduna WP otomatik olarak rel="nofollow" eklendiğinden kod bozuluyordu. Kodu güncelledim, kodun içerisindeki * karakterini silmeyi unutmayın.
Tarih: 30 Haziran 2009 Saat: 20:46
function.php için teşekkürler hocam sağolasınız
Tarih: 06 Temmuz 2009 Saat: 22:43
Eklenti yazı içerisindeki resmin küçük hali varsa onu kullanıyor. Yani diyelim ki resmin adı deneme.jpg olsun. Eğer bu dosyanın bulunduğu yerde deneme-150x150.jpg adında küçük hali varsa onu kullanıyor. Ama bunun dışındaki boyutları kullanmıyor. Buradaki 150x150 boyutu Ayarlar/Medya bölümünden ayarlanıyor.
Eklenti küçük resmin varlığını çok aptal bir şekilde tespit ediyor, ayrıca aptalca bir önbellek sistemi kullandığından eklentinin işleyişini çözmek çok zor.
Her ne kadar yazıda son yazıları resimli olarak göstermeyi anlatmış olsam da bunun performans açısından kullanılmasını tavsiye etmiyorum. Sebebi ise her resim için bir dosya isteği olacak bu da site performansını düşürecektir.
Sonuçta şu an için http://www.yann.com/wp-plugins/yd-recent-posts-widget bileşenine bir çözüm önerisi sunamıyorum.
Tarih: 17 Eylül 2009 Saat: 10:17
Hocam
Ben ekledim ama yazı başlıkları çıktı.
bende thumnail yok. Resimleri Medyadan orjinal boyutu ie çıkarıyorum. örnek http://www.ciceksehri.com buradaki resimleri sağ tarafa çıkaramadım. başa bir yolu yokmu? Tşkler.