23.09.2022
WordPress üzerinde çalışacak custom bir proje geliştiriyorsanız, WordPress’in yapısındaki thumbnail, ürün, kategori gibi bileşenlerin PHP ile nasıl derlendiğini bilmek elzem bir konu olabiliyor.
Ben de bu yazıda, PHP’de nasıl sayfada birden fazla kategori gösterebileceğimizi basit yollardan biriyle göstermek istiyorum.
WordPress normalde blog mantığında çalışan bir yapıya sahip. Default olarak tüm blog’lar ana bir kategori altında toplanıyor. Tek bir kategori altında sayısız ürününüz olsa da bu çok bir sorun yaratmıyor. Asıl zorluk, birden fazla kategorilerin olduğu senaryoda başlıyor.
Benim vereceğim örnekte tüm yazılar 3 kategoriye (category-1, category-2, category-3) ayrılıyor. Ben de her birini tek bir sayfada göstermek için birer array oluşturuyorum.
'orderby' => 'date' ,
'order' => 'DESC' ,
'posts_per_page' => 3,
'paged' => get_query_var('paged'),
'post_parent' => $parent
); ?>
Bu array’de post’ların tarihe göre dizilmesi, 3’den fazla posta yer vermemesi gibi argument’lar oluşturulabiliyor.
Asıl konumuz olan, sayfaya kategori çağırmak istediğimiz durumlarda, yeni bir ‘category_name’ argument’ı kullanmak yetiyor.
'category_name' => 'category-1',
Daha önce panelden kategoriyi oluştururken bu ismi kullandığımız için, PHP bu argument’ı tanımlamakta herhangi bir sorun yaşamayacaktır. Bu şekilde isimlerini argument’da pesifik olarak tanımladığınız kategoriye ait içerikler sayfaya düşecektir.
<?php $args = array(
'post_type' => 'post' ,
'orderby' => 'date' ,
'order' => 'DESC' ,
'posts_per_page' => 3,
'category_name' => 'category-1',
'paged' => get_query_var('paged'),
'post_parent' => $parent
); ?>
<?php query_posts($args); ?>
Birden fazla kez array kullanarak başka kategorileri de çağırabilirim. Bunun için yeni bir array oluşturmam ve o array’deki argument dizisinde çağıracağım kategorinin ismini vermem yetiyor.
Aşağıdaki örnekte her 3 kategori için oluşturduğum array’ler görünüyor. Daha sonra her birinde have_post() function’ı kullanarak postların geleceği alanı belirletebilirsiniz. Daha sonra bunlara HTML üzerinden gözükmesini istediğiniz şekilde tanımlamalar yapabilirsiniz.
<!-- category-1'i çağırıyor -->
<?php $args = array(
'post_type' => 'post' ,
'orderby' => 'date' ,
'order' => 'DESC' ,
'posts_per_page' => 3,
'category_name' => 'category-1',
'paged' => get_query_var('paged'),
'post_parent' => $parent
); ?>
<?php query_posts($args); ?>
<!-- category-1'in postlarını çağırıyor -->
<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post(); ?>
<div class="category-1">
---
</div>
<?php endwhile; ?>
<?php endif; ?>
<!-- category-2'yi çağırıyor -->
<?php $args = array(
'post_type' => 'post' ,
'orderby' => 'date' ,
'order' => 'DESC' ,
'posts_per_page' => 3,
'category_name' => 'category-2',
'paged' => get_query_var('paged'),
'post_parent' => $parent
); ?>
<?php query_posts($args); ?>
<!-- category-2 postlarını çağırıyor -->
<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post(); ?>
<div class="category-2">
---
</div>
<?php endwhile; ?>
<?php endif; ?>
<!-- category-3'ü çağırıyor -->
<?php $args = array(
'post_type' => 'post' ,
'orderby' => 'date' ,
'order' => 'DESC' ,
'posts_per_page' => 3,
'category_name' => 'category-3',
'paged' => get_query_var('paged'),
'post_parent' => $parent
); ?>
<?php query_posts($args); ?>
<!-- category-3 postlarını çağırıyor -->
<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post(); ?>
<div class="category-3">
---
</div>
<?php endwhile; ?>
<?php endif; ?>
Aslında bu şekilde kategori çağırmak için category id gibi seçiciler kullanmak veya for each gibi yollarla hepsini çağırabilirsiniz. Category_name kullanımı bunlar arasında en anlaşılabilir ve kullanımı en kolay olanı.
Perfist Blog
Benzer Yazılar
Yapısal Veri Nedir? Yapısal veri, arama motorlarının bir web sitesinin içeriğini daha iyi anlaması için kullanılan kodlama sistemidir. JSON-LD, Microdata gibi formatlarla uygulanır ve siteye ürünler, etkinlikler, işletme bilgileri gibi detaylı bilgilerin anlaşılır şekilde sunulmasını sağlar. Bu, özellikle e-ticaret siteleri için, ürünlerin özelliklerini ve faydalarını doğru aktarmak açısından büyük bir avantaj sunar. SEO açısından yapısal […]
Devamını Oku
Mid Level SEOSite Hızı Nedir? Site hızı, bir web sayfasının ne kadar hızlı yüklendiğini ifade eder.(Site hızının içinde birden fazla faktör vardır. Bunlardan en önemlileri ilk yüklenme süresi ve yüklenme hızıdır.) Bu hız, ziyaretçilerin deneyimini doğrudan etkiler. Yavaş yüklenen bir site, kullanıcıların siteden çıkmasına ve başka sayfaları tercih etmesine neden olabilir. Aynı zamanda, arama motorları site hızını […]
Devamını Oku
Mid Level SEOSEO Analizi Nedir? SEO analizi, bir web sitesinin arama motorlarında gösterdiği performansı artırmak için eksiklerin belirlenmesi için yapılır. Bu analiz, sitenin mevcut durumu hakkında bilgi verir ve hangi alanlarda iyileştirmeler yapılması gerektiğini ortaya koyar. SEO analizi, yol haritası belirlemek ve başarılı bir strateji oluşturmak için vazgeçilmezdir. Çünkü doğru analiz, hangi anahtar kelimelere odaklanacağını, teknik hataların […]
Devamını Oku
Mid Level SEODijital pazarlama dünyasında, kullanıcıların oluşturduğu içerikler (User Generated Content – UGC) önemini giderek artırıyor. UGC, markaların ve ürünlerin tanıtımında kullanıcıların kendi deneyimlerini, görüşlerini ve yaratıcılıklarını paylaştıkları videoları içerir. Peki, UGC videoları dijital pazarlama stratejilerinde neden bu kadar önemlidir? 1. Güvenilirlik ve Samimiyet Kullanıcıların ürettiği içerikler, tüketiciler için markalardan gelen tanıtımlara göre daha güvenilir bir algı […]
Devamını Oku
Performans Pazarlaması