Diğer eğitim projelerimize baktınız mı ? KolayBiyoloji.com KolayFizik.com KolayMatematik.com
WordPress Tema Sayfalama ve Kategori Sayfaları (category.php, archive.php, search.php)
Blog yazıların çoğaldığında, kullanıcıların içeriklerde kolay gezinmesini sağlamak için sayfalama, kategori sayfaları, arama sonuçları gibi yapılar önem kazanır. Bu bölümde, WordPress’te içerikleri nasıl filtreleyip çok sayfalı hale getireceğimizi öğreneceğiz.
🚀 Bu Yazıda Öğreneceklerimiz
- Sayfalama fonksiyonları:
paginate_links(),the_posts_pagination() - Kategori sayfası:
category.phpoluşturmak - Arşiv sayfası:
archive.phpyapısı - Arama sayfası:
search.phpile sonuçları göstermek
🔢 1. Sayfalama Nedir?
Sayfalama, blog yazılarını belirli sayıda göstermek ve kalanları diğer sayfalara bölmek için kullanılır.
WordPress varsayılan olarak 10 yazıda bir yeni sayfa oluşturur (admin ayarlarından değiştirilebilir).
📌 En Basit Kullanım
<?php the_posts_pagination(); ?>
📌 Daha Özelleştirilmiş Sayfalama
<?php
echo paginate_links([
'prev_text' => __('« Geri'),
'next_text' => __('İleri »'),
]);
?>
Bu kodları index.php, home.php, category.php gibi listeleme dosyalarının altına ekleyebilirsin.
🗂️ 2. Kategori Sayfası – category.php
Kategoriye tıklanınca category.php dosyası çalışır.
Eğer oluşturulmamışsa WordPress archive.php → index.php sırasını izler.
📄 category.php Örneği
<?php get_header(); ?>
<h1><?php single_cat_title(); ?></h1>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<article>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<div><?php the_excerpt(); ?></div>
</article>
<?php endwhile; endif; ?>
<?php the_posts_pagination(); ?>
<?php get_footer(); ?>
single_cat_title()fonksiyonu ile mevcut kategori adı başlık olarak gösterilir.
🗂️ 3. Arşiv Sayfası – archive.php
Arşiv sayfaları:
- Tarih bazlı arşivler
- Yazar sayfaları
- Özel yazı türleri gibi durumlarda çalışır
📄 archive.php Örneği
<?php get_header(); ?>
<h1><?php the_archive_title(); ?></h1>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<article>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<div><?php the_excerpt(); ?></div>
</article>
<?php endwhile; endif; ?>
<?php the_posts_pagination(); ?>
<?php get_footer(); ?>
🔎 4. Arama Sonuç Sayfası – search.php
Ziyaretçi site içinde arama yaparsa search.php şablonu devreye girer.
📄 search.php Örneği
<?php get_header(); ?>
<h1>Arama Sonuçları: "<?php echo get_search_query(); ?>"</h1>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<article>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<div><?php the_excerpt(); ?></div>
</article>
<?php endwhile; else : ?>
<p>Hiç sonuç bulunamadı.</p>
<?php endif; ?>
<?php the_posts_pagination(); ?>
<?php get_footer(); ?>
📌 Arama Formu Eklemek (örneğin header.php içinde)
<form method="get" action="<?php echo home_url('/'); ?>">
<input type="text" name="s" placeholder="Arama...">
<button type="submit">Ara</button>
</form>
🎨 Stil Önerisi – Sayfalama
.page-numbers {
display: inline-block;
margin: 0 5px;
padding: 8px 12px;
border: 1px solid #ccc;
text-decoration: none;
color: #333;
}
.page-numbers.current {
background-color: #0073aa;
color: white;
font-weight: bold;
}
✅ Özet
Bu bölümde:
- Sayfalama sistemini entegre ettik
- Kategori, arşiv ve arama sayfalarını ayrı şablonlarla özelleştirdik
- Kullanıcıların site içeriğinde kolayca gezinmesini sağladık
Artık temamızda içerik çokluğu yönetilebilir hale geldi!
🚀 Sonraki Yazı: Temayı Yayına Hazırlamak ve Optimize Etmek
Sonraki yazıda şunlara değineceğiz:
- Temayı
.ziphaline getirip WordPress’e yükleme - Hız ve SEO optimizasyonları
- Mobil uyumlu (responsive) hale getirme
- Temayı test edip canlıya alma