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
iFrame nedir, öncelikle bu soruya açıklık getirmek gerekiyor. iFrame, bir web sayfasının içerisine farklı bir web sayfasını gömmemizi ve görüntülememizi sağlayan bir HTML etiketidir. iFrame etiketi kullanarak kendi web sitemiz içinde başka bir web sitesini entegre edebilir veya farklı bir web sitesinin belirli bir sayfasını kendi sitemizde gösterebiliriz. iFrame içerisindeki kullanıcı hareketlerini izleyebilmek için iFrame’in […]
Devamını Oku
Senior Level Web/App AnalitiğiSayfanıza backlink alabilmek ya da backlink getirebilmek için çok farklı yollar vardır. Bunların bazılarını Google tarafından önerilirken bazıları ise önerilmez ve zararlıdır. Burada önemli olan sizin stratejinizdir. Nasıl bir strateji izlerseniz izleyin ama doğallığı elden bırakmayın. Hadi şimdi sırayla 12 tane backlink alma yöntemine göz atalım. LİNK GETİRECEK İÇERİK OLUŞTURMAK Google en sık tavsiye ettiği […]
Devamını Oku
Mid Level SEOBacklink, bir sitenin başka bir siteye verdiği bağlantıdır. Backlinkler site içi SEO tamamlandıktan sonra fayda sağlayacağı düşünülen, hedef anahtar kelimelerden ve kaliteli sayfalardan alınmalıdır. Bazen sadece site içi SEO ya da sadece site dışı SEO yaparak rakiplerimizi geçmemiz veya yakalamamız mümkün olmayabilir. Bu yüzden doğal (doğal görünecek) ve kaliteli backlinkler alınmalıdır. Backlink alışverişinde kullanılan algoritma […]
Devamını Oku
Beginner Level SEODönüşüm optimizasyonu, web sitenize gelen ziyaretçilerin arzu edilen bir eylemi gerçekleştirme yüzdesini artırmak için yapılan bir süreçtir. Bu arzu edilen eylem, bir satın alma işlemi, bir form doldurma veya bir bülten aboneliği gibi birçok farklı şey olabilir. Dönüşüm oranınızı optimize ederek, gelirinizi artırabilir ve pazarlama hedeflerinize daha etkili bir şekilde ulaşabilirsiniz. Bu yazımızda, web sitenizdeki […]
Devamını Oku
Beginner Level CRO