Wordpress

WordPress Yazı Çekme Kodlarıyla İçerik Kontrolü

WordPress, içerik yönetim sistemi (CMS) olarak esnek yapısıyla birçok farklı özelliği destekler. Ancak bazen hazır temalar veya eklentiler ihtiyaçlara tam olarak cevap veremez. İşte tam da bu noktada WordPress yazı çekme kodları devreye girer. Bu kodlar sayesinde içerikleri belirli kriterlere göre listeleyebilir, kategorilere göre sıralayabilir, özel yazı tiplerini çekebilir ve çok daha fazlasını yapabilirsiniz.

Bu yazıda, WordPress yazı çekme yöntemlerini hem temel hem de gelişmiş düzeyde anlatacağız. Kod örnekleriyle desteklenmiş bu rehber, WordPress temaları veya eklentileri özelleştiren geliştiriciler için değerli bir kaynak olacaktır.

WordPress Yazı Çekme Nedir?

WordPress yazı çekme, veritabanındaki içerikleri PHP kodları aracılığıyla, belirli filtrelerle ve kriterlerle görüntüleme işlemidir. Örneğin:

  • Belirli kategorideki yazıları listelemek

  • Son yazıları göstermek

  • Belirli yazarın içeriklerini çağırmak

  • Popüler yazıları çekmek

  • Etikete göre yazı göstermek

  • Öne çıkan yazıları özel alanlara göre çekmek

Bu işlemleri yapmak için genellikle WP_Query, get_posts() ve query_posts() fonksiyonları kullanılır. Bu fonksiyonlar sayesinde WordPress sitenizin dinamik yapısını kod düzeyinde kontrol edebilirsiniz.

1. WP_Query Kullanarak Yazı Çekme

En güçlü ve esnek yöntemlerden biri WP_Query sınıfıdır. Örnek kullanım:

php
<?php
$args = array(
'post_type' => 'post',
'posts_per_page' => 5
);
$custom_query = new WP_Query($args);
if ($custom_query->have_posts()) :
while ($custom_query->have_posts()) : $custom_query->the_post();
echo ‘<h2>’ . get_the_title() . ‘</h2>’;
the_excerpt();
endwhile;
wp_reset_postdata();
endif;
?>

Bu kod, son 5 blog yazısını başlık ve özet olarak listeler.

2. Belirli Kategoriden Yazı Çekme

php
$args = array(
'category_name' => 'haberler',
'posts_per_page' => 3
);

Bu yapı, “haberler” kategorisindeki son 3 yazıyı çeker. category_name yerine cat parametresi ile kategori ID’si de kullanılabilir.

3. Etikete Göre Yazı Listeleme

php
$args = array(
'tag' => 'teknoloji',
'posts_per_page' => 4
);

Bu kod, “teknoloji” etiketi eklenmiş içerikleri listeler.

4. Belirli Yazarın Yazılarını Listeleme

php
$args = array(
'author' => 2,
'posts_per_page' => 5
);

ID’si 2 olan yazarın son 5 yazısı bu şekilde görüntülenir.

5. Öne Çıkan Yazıları Gösterme (Sticky Posts)

php
$args = array(
'post__in' => get_option('sticky_posts'),
'posts_per_page' => 5,
'ignore_sticky_posts' => 1
);

Bu örnek, yönetici panelinden “öne çıkar” olarak işaretlenen yazıları çeker.

6. Özel Yazı Tipleri (Custom Post Types)

WordPress’te sadece blog yazısı değil, ürünler, portfolyolar gibi özel yazı tipleri de çekilebilir.

php
$args = array(
'post_type' => 'urun',
'posts_per_page' => 10
);

Bu örnek, “urun” isimli özel içerik tipindeki 10 içeriği getirir.

7. Tarihe Göre Yazı Listeleme

php
$args = array(
'year' => 2024,
'monthnum' => 7
);

Bu örnek, Temmuz 2024 tarihli içerikleri listelemek için kullanılır.

8. Meta Değere Göre Yazı Çekme (Custom Fields)

Eğer yazılara özel alan (custom field) eklediyseniz, meta_value ile filtreleme yapabilirsiniz.

php
$args = array(
'meta_key' => 'gosterim',
'meta_value' => 'ana_sayfa'
);

Bu örnek, “gosterim” özel alanı “ana_sayfa” olan yazıları getirir.

9. Rastgele Yazı Getirme

php
$args = array(
'orderby' => 'rand',
'posts_per_page' => 3
);

Bu yapı sayesinde her sayfa yenilendiğinde farklı yazılar listelenir.

10. Popüler Yazıları Gösterme

WordPress varsayılan olarak hit sayısı tutmaz ama özel alan ya da eklentiyle sayım yapıyorsanız şöyle çekebilirsiniz:

php
$args = array(
'meta_key' => 'hit',
'orderby' => 'meta_value_num',
'order' => 'DESC',
'posts_per_page' => 5
);

Bu örnek, “hit” adlı özel alandaki değere göre sıralama yapar.

WordPress Yazı Çekme Kodları Nerede Kullanılır?

  • Ana sayfa: Öne çıkan içerikler

  • Sidebar: Son yazılar veya popüler içerikler

  • Özel sayfa şablonları: Kategoriye özel arşiv

  • Shortcode fonksiyonları içinde

  • Widget olarak kayıt edilerek tema paneline entegre

Güvenlik ve Performans Tavsiyeleri

  • Her sorgudan sonra wp_reset_postdata() kullanın.

  • Gelişmiş sorgularda transient API ile önbellekleme yapın.

  • posts_per_page değerini sınırlı tutun, aksi takdirde sorgu ağırlaşabilir.

  • SELECT * yerine sadece gerekli verileri sorgulamak için fields parametresi ekleyin.

Sonuç: İçerik Kontrolü Sizin Elinizde

WordPress yazı çekme kodları, site içeriklerinizi esnek ve kontrollü bir şekilde listelemenizi sağlar. Hazır bileşenlerle sınırlı kalmadan, kullanıcıya özel deneyimler sunabilir, site yapınızı tamamen özelleştirebilirsiniz.

Geliştiriciyseniz veya temanızda özelleştirme yapmak istiyorsanız, bu kodlar sizin için vazgeçilmezdir. Ayrıca SEO açısından da içeriklerinizi hedefli şekilde gösterebilmeniz, site içi bağlantı yapınızı güçlendirir.

Sıkça Sorulan Sorular

get_posts ve WP_Query farkı nedir?

get_posts() basit sorgular için uygundur, WP_Query ise daha esnek ve gelişmiş kullanımlar içindir.

Kodları functions.php dosyasına mı yazmalıyım?

Hayır, bu kodlar genellikle temanızın uygun alanlarına (örneğin home.php, single.php gibi) veya özel şablonlara yerleştirilmelidir.

Kodları kullanırken eklentiye gerek var mı?

Hayır, bu kodlar doğrudan WordPress çekirdeği üzerinde çalışır. Ancak eğer görsellik ve dinamik yapı gerekiyorsa bazı eklentilerle destekleyebilirsiniz.

Diğer WordPress Blogları: WordPress Beyaz Sayfa Sorunu Nasıl Çözülür

Daha Fazla Göster

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu
Kapalı