WordPress ve Custom Post Type / Taxonomy Oluşturma

WordPress bir blog içerik yönetim sisteminden öte özelliklere sahip. WordPress ile portfolyo siteleri hazırlayabilir, katalog siteleri ile ürettiğiniz ürünleri gösterebilir, film inceleme sitesi oluşturabilir ve bunlar gibi aklınıza gelebilecek her türde site için düzenleme yapabilirsiniz.

WordPress içerisinde, varsayılan olarak, blog yazıları ekleyebileceğiniz bir alan vardır. Fakat az önce saydığımız özelliklerde içerikler oluşturmak için, WordPress’in, Custom Post Type olarak bilinen özel yazı türleri üzerinde çalışmamız gerekiyor. Bu derste WordPress Custom Post Type nasıl yapılır, bunu göstermeye çalışacağım.

Custom Post Type (Özel İçerik Tipi) Eklentisiz Nasıl Yapılır?

Bir tarafta, Tema klasörünün içerisindeki dosyaları açıyorum. Çünkü bu dosyalar üzerinde bazı düzenlemeler yapmamız gerekiyor. Bir de bu yaptığımız düzenlemeleri görüntülemek için, bizzat neyin ne olduğunu anlayabilmek için, admin panelinde ayrı bir sayfa da açtım. Custom Post Type’ları girerken, functions.php dosyasını sıklıkla kullanacağız, çünkü buradan bazı komutları veriyoruz ve burada verdiğiniz komutlar yönetim panelinde görünüyorlar. Functions.php’yi açıyorum ve uygun bir yere temel kodları yazılım. Dediğim gibi birçok örnek yapabiliriz. Ben şu anda portfolyo üzerinden gideceğim. Siz kendi projenize göre bunu uyarlayabileceksiniz.

function portfolyo_posttype() {
	$args = array(
		'labels' => array(
        'name' => 'Portfolyo',
        'singular_name' => 'Portfolyo',
     ),
		'hierarchical' => false,
		'public' => true,
		'has_archive' => true,
		'menu_icon' => 'dashicons-chart-pie',
		'supports' => array( 'title', 'editor', 'thumbnail'),
		'rewrite' => array('slug' => 'portfolyo'),
	);

	register_post_type( 'portfolyo',$args);
}

add_action( 'init', 'portfolyo_posttype' )

Argümanları belirleyeceğimiz bir alan oluşturacağız. Yapacağımız özellikleri bu argümanlar içerisinde belirleyeceğiz ve altına da, bu argümanların da dahil olduğu bir Register Post Type özelliği ekleyeceğiz. Buna da bir isim verelim. Bu isim bizim Post Type’ımızın ID’si olacak ve bazı durumlarda bu ismi kullanmamız gerekecek. Şimdi buraya kadar tamamsa, Custom Post Type’ımızı oluşturmaya başlayabiliriz.

Admin Panelde Yazılar Sekmesi Oluşturma

İlk olarak bu oluşturduğumuz Custom Post Type’ın her yerde kullanılabilmesi için Public True satırını eklemem gerekiyor. Bu satırı, oluşturduğumuz tüm Custom Post Type’larda yazmamız gerekiyor. Bununla beraber, bir kontrol edelim, bakalım yönetim panelinde durumlar nedir? Bu sayfayı kaydediyorum. Yönetim panelinde yenile dediğimde, gördüğünüz gibi buraya Yazılar isminde yeni bir sekme geldi. Biz herhangi bir detay girmediğimiz için, içerik türünün, varsayılan özelliklerle bize geri dönüşünü sağlıyor. Biz o özellikleri değiştirerek, bunu kendimize göre modifiye edeceğiz. Önce buradaki Yazılar kısmını bir değiştirelim. Görünmesini istediğimiz başka bir isim var, o da portfolyo. İngilizce dil seçeneği ile yapacaksanız veya çoğul kullanmamız gerektiği durumlar olacaksa, üstteki satırı çoğul olarak yazıyorsunuz, alttaki satırı da tekil olarak yazıyorsunuz. Bir araba sitesi yapacaksanız, üste arabalar yazıyoruz, alta da araba yazıyoruz ki, tekil çoğul ilişkisini ifade edebilelim. Gördüğünüz gibi isim olarak portfolyo metnini yazdırabildik.

Sayfada Olması Gereken Diğer Girdi Alanları

Yeni Ekle seçeneğine tıkladığımda, burada gördüğünüz gibi sadece başlık var ve açıklama kısmı var. Ama bir içerik eklerken, bundan çok daha fazlasına ihtiyacımız olabilir, öne çıkan görseller eklememiz gerekebilir veya bir özet kısmı eklememiz gerekebilir. Yorum alanı veya yazar kısmını belirtmemiz gerekir. Bunların hepsi normal yazılarda var ama varsayılan olarak burada sadece ikisi var. Biz bunun önüne nasıl geçebiliriz ve istediklerimizi nasıl ekleyebiliriz?

Bunu da Support özelliğiyle yapacağız. Gördüğünüz gibi Supports yazarak bir array içerisinde bu sayfada olması gerekenleri ifade etmemiz gerekiyor. Varsayılan olarak Title ve Editör var ama Thumbnail olmadığı için, bizim bunu, Thumbnail’ı da bu şekilde eklememiz gerekiyor. Bu sayfayı böyle kaydedip bakıyorum, ve gördüğünüz gibi öne çıkan görsel de buraya eklendi. Özet kısmı olsun isteseydim, bunu eklemem gerekirdi. İçerik eklemek için, bu öğeler benim için şu anda yeterli. Bunlarla beraber, has_archive olarak tanımlanan bir özelliğimiz daha var. Bunu da True olarak işaretliyorum ki Custom Post Type’a özel olarak sayfalar hazırlayabilelim.

WordPress Dashicons

Şurada gördüğünüz ikon, aslında WordPress’in bize sağlamış olduğu Dashicons dediğimiz ikon özellikleri. Bunları biz kendimiz manuel olarak ekleyebiliyoruz. Bunların her birinin belli bir ismi var. Şimdi size bunun nasıl yapıldığını göstereceğim. Bunu yapabilmemiz için de Menu Icon özelliğini eklememiz gerekiyor. Peki karşılığında ne yazacağız? Onu da şöyle yapalım, WordPress Dashicons yazdığımızda karşımıza çıkan WordPress Developer Resources linkine tıklayalım. Burada, WordPress’in kendi içerisinde kullandığı ikonları göreceksiniz. Mesela bir portfolyo sayfası için uygun olabilecek bir ikon bakalım. Kalem uygun görünüyor. Gördüğünüz gibi kalemin ismini burada bana verdi. Ben bunu kopyalıyorum, tırnak içerisine yazıyorum ve kaydedip sayfaya baktığımda, bu ikonun, kalem ikonu olarak değiştiğini görebiliyorum.

Rewrite ile Custom URL Belirleme

Şimdi özellikle URL kısmında ilginizi çekebilecek bir özellikten daha bahsedeceğim. Mesela, siteadi.com diye bir sayfanız olduğunu farzedelim. Portfolyo eklemeniz için buraya ne yazmanız gerekiyor? İşlerin görüntülenmesinden önce, portfolyo yazarak, burada işin isminin yazılması gerekiyor. Burada portfolyo kelimesini nereden belirttiğini izah edeceğim. Rewrite fonksiyonu ile, Rewrite özelliğiyle portfolyoyu burada belirtebiliyoruz. Bu sayfayı kaydettiğimde ve yeni bir içerik eklediğimde, diyelim ki böyle bir içerik ekledim, yayınla diyorum. Burada gördüğünüz gibi siteadi/portfolyo olarak devam ediyor. Ben bunu portfolyom olarak, değiştirirsem, ve sayfayı tekrar güncellersem, gördüğünüz gibi portfolyom olarak değişti. Eğer ben bu satırı komple silersem, varsayılan olarak portfolyo kelimesi buradan çekecek, yani burada ne yazıyorsa, şu kısımda o yazılı olacak, tıpkı buradaki örnekteki gibi. Öğrenmek ve görmek için bu satırı burada tutuyorum.

Custom Post Type ve Hierarchy Özelliği

Bilmeniz gereken bir özellik de Hiyerarşi özelliği. Hiyerarşi bize şunu sağlıyor, normalde blog yazıları, WordPress’te blog yazıları eklerken, bir blog yazısını başka bir blog yazısının altına veya bir blog yazısını başka bir blog yazısının üstüne olacak şekilde ayarlayamıyorsunuz ama sayfa eklerken bu böyle değil. Yeni bir sayfa örneği eklediğimizde, gördüğünüz gibi, burada hangi sayfanın altında yer alacağını seçebiliyoruz. Hiyerarşik yapı bu anlama geliyor. Hiyerarşi False olduğunda herhangi bir Parent seçemiyor. Dolayısıyla, buraya girdiğiniz tüm içerikler, aynı hiyerarşiye sahip oluyor. False dediğim için bu görünmüyor. Eğer bunu True deseydim, yani hiyerarşi var deseydim ve portfolyoda yeni bir içerik eklemem gerekse, burada herhangi bir şey göremeyeceğim. Herhangi bir hiyerarşi değişimine dair, hiyerarşi seçimine dair bir şey göremeyeceğim, çünkü bunu görebilmem için, support olarak eklemem gereken bir şey daha var. Bunu eklediğim zaman ancak, sayfadaki sayfa özelliklerini değiştirebiliyorum. Gördüğünüz gibi Hiyerarşi True yaptığım için, burada üstü olabilecek içeriği seçebiliyorum. Ama False yaparsam eğer, bu alan olmayacak. Üst olarak seçim yapamayacağım. Dolayısıyla False yaparsam sanki hepsi yazılarmış gibi aynı hiyerarşiye sahip olacaklar. Custom Post Type oluştururken bunu da göz önünde bulundurmanız gerekiyor.

Aslında şöyle bakacak olursak, portfolyo içeriği eklememiz için, gerekli tüm ayarlamaları burada yaptık. Bunlardan çok daha fazlası var değiştirebileceğiniz, çok farklı özellikleri var. Onlar da arka planda aslında çalışıyorlar ama biz burada onları değiştirmediğimiz için, onlar varsayılan olarak kullanıyorlar. Biz bunları kullanmadığımız zaman, bunlar da aslında varsayılan olarak, WordPress’in tercih ettiğini kullanacaklardı. Biz burada onların önüne geçmiş oluyoruz, müdahale etmiş oluyoruz yani. Bunlar bizim Custom Post Type oluşturmamız için gerekli temel özellikler. Diğerlerini de öğrenmek için, WordPress Codex sitesine bakabilirsiniz.

Custom Post Type ve Kategori İlişkisi

Yazılara baktığımda, burada yazılarda kategoriler olduğunu da görüyorum. Peki biz kategorileri nasıl ekleyeceğiz? Onu da göstereyim. Dolayısıyla ürünlerimizi, işlerimizi, projelerimizi kategorize edebiliriz. Hemen yine functions.php’de çözeceğiz bunu. Sayfanın alt tarafına iniyorum. Bu sayfa üzerinde, kategoriler ve aynı zamanda etiketler, Taxonomy olarak geçiyor WordPress’te. Register Taxonomy olarak da yine portfolyoyu Register ediyoruz ve aynı zamanda bunu hangi Custom Post Type ile ilişkilendirdiğimizi de buradan belirliyoruz.

function portfolyo_taxonomy() {
	$args = array(
		'labels' => array(
        'name' => 'Kategori',
        'singular_name' => 'Kategoriler',
     ),
		'hierarchical' => true,
		'public' => true,
	);
	register_taxonomy( 'portfolyo',array('portfolyo'),$args);
}
add_action('init', 'portfolyo_taxonomy');

Portfolyuyu, önceden Register ettiğimiz portfolyo ismiyle eşleştiriyoruz. Buradaki değer, portfolyo ve Register edilen portfolyo değerine bakacak. Şimdi gelelim bu kategorinin detaylarına. Yine üst taraftan Label kısmını buluyorum. Buraya yapıştırıyorum ve isim olarak tabii ki değiştirmemiz gerekiyor, ne isim görmek istiyorsak, Kategoriler olacak ve Singular Name olarak da Kategori olacak şekilde ayarlıyorum. Gördüğünüz gibi Kategoriler olarak geldi. Bu Kategoriler üzerine girdiğimde, yeni kategori ekleyebiliyorum. Şimdi yazmamız gereken diğer özellikleri de yazalım. Public özelliğini True olarak belirliyoruz ve yine Hierarchical kısmını da True olarak belirliyoruz. True olarak belirlediğimizde, kategoriler kısmına geldiğimizde, ebeveyn kategori olarak yani Parent Category olarak burada üst kategoriyi belirleyebiliriz. Ama bunu False yapıp baktığımda, üst kategori belirleyebileceğimiz alanın burada olmadığını görüyoruz. Buna da yine bu mantıkla kendi projenize göre karar verebilirsiniz. Ve sonuç olarak, yeni içerik ekleme kısmına baktığımızda ise kategorilerin olduğunu görebiliyoruz. Yani biz buraya 2 tane kategori ekleyelim, yani önceki eklediğimiz içeriğe bir kategori ekleyelim, Logo Tasarımı diye. Şimdi bunu eklediğimde, bu daha çok etiket mantığıyla çalışıyor, Hierarchical kısmını True yaptığımda, gördüğünüz gibi burası da daha çok kategori mantığıyla çalışıyor. Blog yazıları gibi bir kategori üzerine, üst kategori belirlenebilir. Bunu eklediğimizde, burası artık bir kategori olarak hizmet verecek. False yaptığımızda, bunu etiket mantığıyla düşünebiliriz.

WordPress Custom Post Type / Özel Yazı Türü Nasıl Görüntülenir?

Sayfanın genel itibariyle, yeni içerik ve yeni kategori ekleme kısmını hallettik. Şimdi bazı işler gireceğim buraya, 4 – 5 tane, ve ondan sonra da Custom Post Type’lar için ön yüzde yani ziyaretçilerin görebileceği taraflarda sayfaların nasıl oluşturulduğunu göstereceğim. O zaman da, Custom Post Type’ların, hem arka planda, hem de Back-End’de hem de Front-End’de nasıl yapıldığını, görmüş ve öğrenmiş olacağız. Portfolyo sayfasına birkaç tane iş ekledim. İçeriğine, bir başlık, bir açıklama kısmı, bir kategori, bir de öne çıkarılan görsel ekledim.

<h1><?php the_title(); ?></h1>

<?php if(has_post_thumbnail()):?>
      <img data-lazyloaded="1" src="data:image/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=" decoding="async" data-src="&lt;?php%20the_post_thumbnail_url();?&gt;">
<?php endif; ?>
    
<?php if (have_posts()) : while (have_posts()) : the_post() ?>
      <?php the_content(); ?>
<?php endwhile; endif; ?>

Şimdi tüm bu detayları Front-End tarafında gösterelim. Single.php’nin blog yazılarını, archive.php’nin ise blog içeriklerinin listelendiği sayfayı görüntülediğini biliyoruz. Custom Post Type yaptığımız zaman, bu işlem şu şekilde işliyor, detay sayfasını yapacağız. Detay sayfasını yapabilmek için de yine Single yazıyorum, ve bu örneğe göre, bizim yaptığımız örneğe göre, portfolyo yazıyorum. Yani Custom Post Type’ın ID’sini yazıyorum. Sonra da php uzantısını ekliyorum. Neden Portfolio yazdığımızı da göstereyim, çünkü biz Custom Post Type’ı oluştururken ve Register Post Type kısmına Portfolio ismini verdik. Bu nedenle buraya Portfolio yazıyoruz. Bu sayfalara girdiğimiz içeriklerde, single-portfolio.php dosyasına bakacak.

Single.php

Single.php dosyasındaki tüm detayları alıyorum ve single-portfolio.php dosyasına yapıştırıyorum. Bu sayfada neler var? The Title var, içeriğin başlığı. Eğer içerikte bir görsel varsa, görselin kendisini gösteriyor. İçerikte açıklama kısmında yazı varsa, yazının kendisini gösteriyor. Şuradaki yorum kısmını da silebilirim.

Gördüğünüz gibi burada kalıcı bağlantı olarak portfolio/baslik var. Eğer sizde bu şekilde görünmüyorsa, şunu yapın, ayarlar kısmına gelin. Kalıcı bağlantıların altında, Yazı ismini seçin. Yazı ismini seçerseniz, az önce gösterdiğim gibi bir URL yapısına sahip olacağız. Değişiklikleri kaydet diyerek de, bunu kaydedeceğiz. Ondan sonra bu şekilde görünecektir. Bu sayfayı açıyorum ve açtığım zaman, karşımda, az önce eklediğim bilgileri, burada görebiliyorum. Yani bu durumda ne yapmış olduk? Kendi oluşturduğumuz Custom Post Type’ın Detay sayfasını görüntülemiş olduk. Birkaç düzenlemeyle bunu daha normal hale getirebiliriz.

Archive.php

Şimdi bunun Archive tarafına bakalım. Yani işlerin listelendiği yere bakalım. Bunu bu şekilde yaptıysak, sizce arşivi nasıl çözümleyebiliriz? Yeni bir dosya oluşturuyorum. Archive yazıyorum ve yine Portfolio yazarak uzantımı koyuyorum. Archive içerisindeki tüm kodları kopyalıyorum ve archive-portfolio sayfasına yapıştırıyorum. Hiçbir değişiklik yapmadan, bakalım sonuç nasıl olacak? Bu sayfayı bulabilmemiz için de, şuradaki portfolyo kısmından sonraki kısmı siliyorum. Gördüğünüz gibi eklediğim içerikler buraya başarılı bir şekilde ulaştı. Yine bu sayfanın da bir analizini yapalım hızlıca. Şurada başlık kısmı var, görsel görünme kısmı var, içeriğin özeti var ve detay sayfasına gidebilmemiz için de bir permalink uygulamış oluyoruz.

Küçük bir Bootstrap ve CSS düzenlenmesiyle, Portfolio sayfamı bu hale getirdim. Eklediğim içerikler, benim archive-portfolio.php sayfamda görünüyorlar ve her bir detaya tıkladığımda ise, o sayfanın kendi içeriğini, kendi sayfalarında görüntüleyebiliyorum.

Ancak ben bu kategorilerin her birine ayrı ayrı şu anda giriş yapamıyorum. Yani buradaki kategori sekmesindeki Görüntüle linkine tıkladığımda, herhangi bir sayfa açılmıyor çünkü bununla ilgili herhangi bir işlem yapmadım. Şu anda da, bu sayfaların her birine, ayrı ayrı girebileceğimiz bir sayfa oluşturalım. Ama bunun için functions.php üzerinde yine düzenleme yapmamız gerekiyor. Bunlara Portfolio kelimesi altından giremem. Çünkü Portfolio işlerin olduğu yer, yani şu şekilde girdiğimde, Portfolio olarak, logo tasarımı şeklinde bir şey yapamam. Kategoriler için ayrı bir isim düşünmen lazım. Mesela, Portfolio Kategorisi şeklinde ya da Portfolio List şeklinde bir düzenleme yapmam lazım.

Ve ardından da, burada kategorinin Slug Name’i görünecek. Hemen böyle bir düşünce çerçevesinde, bu sayfamızı da hazırlayalım. Kategori için ayrı bir şey yapmak istediğimizde, yine Portfolio Taxonomy olarak isimlerini belirtiyorum. Ondan sonra Register Taxonomy diyerek, her iki ismi de buraya yazıyorum. Yani URL yapısında Portfolio da olacak, Portfolio List de olacak. Bunların içerisine bir Array açıyorum ve öncelikle Kategoriler kısmında olmasını istediğim isimleri yazıyorum. Bunları zaten önceden de öğrenmiştik. Buna bir Rewrite özelliği ekliyorum bu şekilde. Public True diyorum ve Hierarchic yapısını da True olarak belirliyorum. Çünkü kategorilerin de bir Hierarchic yapısı olacak. Bu şekilde kaydediyorum tekrar functions.php’yi, bu ayarlamaları yaptıktan sonra, tekrar kalıcı bağlantılardan, durumu Reset’liyorum. Ondan sonra Kategoriler’e geldiğimde, Kategoriler’in olmadığını görebilirsiniz. Çünkü bu dosya üzerinde yaptığımız değişikliklerden sonra bazı verileri kaybedebiliriz. O nedenle, bu değişiklikleri nerede, nasıl yaptığımızı çok iyi bilmemiz gerekiyor. Portfolio sayfasına gelip, bu Category Assign işlemlerini yeniden yapacağım.

Taxonomy.php

Biz Taxonomy olarak bir şeyler oluşturmak istiyorsak eğer, Taxonomy sayfaları için, ayrı bir sayfa oluşturmamız lazım. Hemen onu da yapalım. Archive-portfolio içerisindeki tüm kodları kopyalıyorum ve yeni bir dosya oluşturuyorum kendime, Taxonomy Portfolio List, çünkü Portfolio List için bir şey yapıyoruz, bunun içerisine yapıştırıyorum kaydediyorum ve sayfaya tekrar gelip yeniliyorum. Gördüğünüz gibi burası bir Taxonomy sayfası olduğu halde bu şekilde göründü. Çünkü biz Taxonomy için ayrı bir sayfa oluşturduk ve bu sayfalara girdiğinde, detay sayfalarına giriyor. Burada Kategori ismini görüntülemesinin nedeni de, Single Cat Title fonksiyonunu kullanmış olmamız.

function portfolyo_taxonomy() {

	register_taxonomy(
		'portfolyo-list',
		'portfolyo',
		array(
			'labels' =&gt; array(
				'name' =&gt; 'Kategoriler',
				'singular_name' =&gt; 'Kategori',
			 ), 
			'rewrite' =&gt; array( 'slug' =&gt; 'portfolyo-list', 'with_front' =&gt; TRUE ),
			'public' =&gt; true,
			'hierarchical' =&gt; true,
		)
	);
}
add_action('init', 'portfolyo_taxonomy');

WordPress’te Kategorilere Link Verme

Peki ben bir detay sayfasına girdiğimde, bu sayfanın hangi kategoriye ait olduğunu nasıl gösterebilirim ve o kategoriye nasıl link verebilirim? Bunu da göstereyim. Bunun için tekrar Single-portfolio sayfasına gidiyorum. Amacın buraya link vermek olduğu için, single-portfolio.php sayfasına gidiyorum ve başlığın altına bu kodları ekliyorum. Burada, Category’nin otomatik olarak Slug ismini çekiyor ve buraya da Category’nin kendi ismini çekiyor.

<?php $category = get_the_terms($post->ID, 'portfolyo-list');
    foreach ($category as $cat) {
        echo '
            <a href="/portfolyo-list/'%20.%20%24cat-&gt;slug%20.%20'"> ' . $cat-&gt;name . ' </a>  ';
    }
?&gt;

Dolayısıyla bu adresi de tamamlayarak, bana istediğim sonucu veriyor. Ben bu kısmı böyle çözdüm. Sayfa üzerinde bu koda baktığımda, gördüğünüz gibi Broşür Tasarımı olarak burada görünüyor. Bunun detayına indiğimde de Broşür Tasarımı sayfasına geçiyorum. Buraya Sosyal Medya yazsaydım, Sosyal Medya kategorisine ait olan içerikleri burada listeleyecekti ve tekrar Sosyal Medya sayfasına, buna tıklayarak geri dönebiliyorum. Custom Post Type’lar üzerinde çalışarak bir Portfolio listesi oluşturmuş olduk. Bu şekli kullanarak, siz de kendinize bir Portfolio sayfası hazırlayabilirsiniz ve işlerinizi ziyaretçilerinizle paylaşabilirsiniz ve aynı zamanda Custom Post Type’ların nasıl kullanıldığını da bu şekilde görmüş olduk.

Custom Post Type UI Eklentisi ile Özel İçerik Türü Oluşturmak

Tabii tüm bunları yapabilmemiz için kodlarla ilgilenmemiz gerekti. Peki, kodlar olmadan Custom Post Type oluşturabiliyor muyuz? Hemen bunu da göstermek istiyorum. Önce Eklentiler sayfasına girelim. Yeni bir eklenti ekleyeceğim. Eklentinin ismi Custom Post Type UI. Bu eklenti, hemen şuradaki eklentiyi yüklüyorum, zaten bir milyona yakın kurulum söz konusu. Eklentiyi yükledikten sonra etkinleştiriyorum. Etkinleştirdiğim zaman sol tarafta CPT UI yani Custom Post Type adı altında bir menü göreceksiniz.

Yönetim panelinde bu kısım, Add Edit Post Types, bizim az önce yeni oluşturduğumuz Portfolio sayfasına tekabül ediyor. Taxonomies ise hem etiketleri hem de kategorileri ayarlamak için kullanılıyor. Şimdi hemen hızlıca yeni bir Post Type oluşturalım. Eklentiyle bunu nasıl yaparız, onu göstereyim. Buradaki konumuz film olsun. Filmler üzerine bir düzenleme yapalım. Slug olarak Film yazıyorum. Plural Name yani çoğul isim olarak da Filmler yazıyorum. Burada Film yazıyorum. Burada birçok detay var. WordPress’in Custom Post Type oluştururken, arka planda, aslında varsayılan olarak birçok değerinin olduğundan bahsetmiştim. İşte burada o değerler var. O değerleri değiştirmek isterseniz, burada düzenleyebiliyorsunuz. Aşağı doğru indiğimde, bakın, Public True. Tanıdık bir şey var mı? Has Archive var, Hierarchical var. Rewrite kısmı burada True olacak ve biz de buraya URL’de görmek istediğimiz kelimeyi yazıyoruz, Film’den farklı bir şey görmek istersek. Buraya bir şey yazmazsak, altta da belirttiği gibi varsayılan olarak, Post Type’ın kendi ismi olacak. Add Post Type butonuna tıklıyorum. Burada, kendisini de görebiliyoruz. Film’ler küçük harf ile oldu, Add Post Type ile çoğul ismini burada düzeltiyorum, filmler şeklinde. Mesela All Filmler olarak çevirdi. Çünkü biz herhangi bir şey yazmadık. Bunu da All Items, All diye aradım. Bakın All Items şeklinde çıktı. Tüm Filmler olarak değiştiriyorum ve bu değişiklikleri yaptıktan sonra kaydediyorum. Hem filmlerin baş harfi büyüdü hem de Tüm Filmler olarak değişti. Yeni ekle dediğinde en başa dönüyoruz. Gördüğünüz gibi Custom Post Type’ı, functions.php üzerinden hallettiğimizde de bu aşamayı görmüştük.

Yeni bir Taxonomy oluşturalım, yeni bir Kategori oluşturalım. Onu da hemen Add Edit Taxonomies kısmından hallediyoruz. Film Kategorisi diyelim. Buraya da çoğul ismi, Film Kategorileri ve Film Kategorisi. Bunu nereye Attach edeceğinizi, nereye entegre edeceğimizi soruyor. Filmler için bir şey yaptığımız için Filmler’i seçiyorum ve Add Taxonomy diyorum. Gördüğünüz gibi Filmler’in altında yeni bir alan belirdi. Yeni bir içerik eklerken aynı zamanda, film kategorilerini de buraya ekleyeceğim. Ama şu anda Film Kategorileri etiket mantığında çalışıyor. Neden? Çünkü Hierarchy kısmıyla ilgili herhangi bir düzenleme yapmadık. Hemen bunu da çeviriyorum. Yukarıdan Edit Taxonomies ve Hierarchy kelimesini arıyorum. Hierarchy kısmı, bunu kapatalım, Hierarchy kısmı burada False, bunu True yapıyorum. Save Taxonomy diyorum. Film Kategorileri’ne geldiğimde bu sefer, hiyerarşi yapısı söz konusu olduğu için, etiket mantığı yerine kategori mantığını burada kullanabiliyorum.

Eklenti kullanarak Custom Post Type oluşturma işlemleri de bu şekilde. Nispeten daha kolay diyebilirim ama eklenti kullanmak istemeyenler için de functions.php üzerinden Custom Post Type oluşturmak çok da zor değil gördüğünüz gibi.

Popular Eğitimler

WordPress Menü Nasıl Eklenir?

Wordpress menü nasıl eklenir? Wordpress navigasyon menü eklerken yapılması gerekenler nelerdir?

Fontello ile Sadece İhtiyacınız Olan İkon Fontları Kullanın

Önceki derslerimizde Web Sitelerinde Font Awesome Kullanımı ile ilgili bir makale hazırlamıştım….

WordPress Admin Paneli Nedir ve Nasıl Kullanılır? (Detaylı Anlatım)

WordPress’i kurduktan sonra sayfaları yönetebilmek için admin paneli dediğimiz yönetim panelinin de…

WordPress Yazılar ve Sayfalar Arasındaki Fark Nedir?

WordPress’e yeni başlıyorsanız, yazılar ve sayfalar arasındaki farkın ne olduğunu merak ediyor…

WordPress Son Güncelleme Tarihi Nasıl Gösterilir?

WordPress’te içeriğin güncellendiği tarih olan son güncelleme tarihi nasıl gösterilir? WordPress’te hangi…

WordPress’te JPEG Sıkıştırmalarını İptal Etme

WordPress’e bir görsel yüklediğinizde, bu görselin kalitesi %90’a sıkıştırılır ve daha hızlı…