WordPress Custom Type Kullanımı ve Temaya Eklenmesi

WordPress Custom Type Kullanımı ve Temaya Eklenmesi

WordPress Custom Type Kullanımı ve Temaya  Eklenmesi

WordPress  Nedir ?

Custom Type Wordpress Admin Panelinize Bir Sekme Ekleme işini görür, Yalnız bu sekmenin ne işe yaradığı sizin yaratıcılığınıza bağlıdır, Sekme Tamamen Yazılar sekmesi Gibi olup kendi kategorilerini,etiketlerini,öne çıkarılmış görselini,yorum alanını vs gibi tüm özellikleri kullanabilmektedir.

Örnek Verecek Olursak

Benim Sitemin Anasayfasında Bulunan Slider Şeklinde ki sabit yazı alanını yapabilmek için Custom_Type özelliğine başvurdum nasıl mı kullanılır beraberce öğrenelim.

Görselimiz

wordpress-post-type

Kodlar

Kullanımı Verilen Kodları  Temanız functions.php içerisine ekliyorsunuz.

add_action( 'init', 'register_cpt_sabit_yazi' );

function register_cpt_sabit_yazi() {

$labels = array(
'name' => _x( 'Sabit Yazı', 'sabit_yazi' ),
'singular_name' => _x( 'Sabit Yazı', 'sabit_yazi' ),
'add_new' => _x( 'Sabit Yazı Ekle', 'sabit_yazi' ),
'add_new_item' => _x( 'Yeni Sabit Yazı Ekle', 'sabit_yazi' ),
'edit_item' => _x( 'Sabit Yazıyı Düzenle', 'sabit_yazi' ),
'new_item' => _x( 'Yeni Sabit Yazı', 'sabit_yazi' ),
'view_item' => _x( 'Sabit Yazıyı Görüntüle', 'sabit_yazi' ),
'search_items' => _x( 'Sabit Yazı Ara', 'sabit_yazi' ),
'not_found' => _x( 'Sabit Yazı Bulunamadı', 'sabit_yazi' ),
'not_found_in_trash' => _x( 'Çöp Kutusunu Boşalt', 'sabit_yazi' ),
'parent_item_colon' => _x( 'Sabit Konu Hiyerarşisi:', 'sabit_yazi' ),
'menu_name' => _x( 'Sabit Yazı', 'sabit_yazi' ),
);

$args = array(
'labels' => $labels,
'hierarchical' => true,
'description' => 'Sabit Yazı',
'supports' => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'page-attributes' ),
'taxonomies' => array( 'category', 'post_tag', 'page-category' ),
'public' => true,
'show_ui' => true,
'show_in_menu' => true,

'menu_icon' => 'siteadresi/menu_resmi/_star.png',
'show_in_nav_menus' => true,
'publicly_queryable' => true,
'exclude_from_search' => false,
'has_archive' => true,
'query_var' => true,
'can_export' => true,
'rewrite' => true,
'capability_type' => 'post'
);

register_post_type( 'sabit_yazi', $args );
} 

Aslında işlemimiz burada sona ermekte Artık paneliniz de yeni sekmeniz mevcut bu sekmeyle birlikte dilediğiniz özelliği kullanabilirsiniz bu size kalmış.

2.Aşama Custom Type Özel sayfanızda veya istediğiniz sayfada listeleme Nasıl Yapılır ?

Örnek Döngümüz bu şekilde olmalı.

<?php

$args=array(
'post_type' => 'sabit_yazi',
'posts_per_page' => -1,
'services_rendered' => $client2
);
$loop = new WP_Query($args); ?>

<?php while ($loop->have_posts()) : $loop->the_post(); ?>

<li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>

<?php endwhile; ?>

Gerekli alanları Kendinize göre düzenleyerek yeni bir sekme oluşturup o sekmenin yazılarını listeleyebilirsiniz.

3- Son Aşama

Aslında bu aşamayı kullanmayabilirsiniz.

İşlemleri yaptınız ve artık Custom Type kullanıyorsunuz fakat hali hazırda bulunan single.php dosyanız sizi tatmin etmiyor. Bu durumda single-sabit_yazi.php adında bir .php dosyası oluşturup tema içerisine gönderdiğiniz vakit Custom Type sekmenize özel yazı sayfasını oluşturabilirsiniz.

İşlemimiz Tamamdır.
Geliştirmek Sizin Elinizde Kolaylıklar Dilerim.

1 Beğen

Yapılan Yorumlar

  1. Koca wordpress tema kitabı bile bu önemli konuyu üstün körü geçmişken sizin bu kadar detaylı bir şekilde anlatmanıza çok sevindim Metin hocam, teşekkür ederim.

    • 5 sene önce

      Ben teşekkür eder sevgiler sunarım yardımcı olabildiysem ne mutlu bana 🙂

  2. 6 sene önce

    Şöyle ki hazırladığınız post_typeı farklı bir döngü ile anasayfa da istediğiniz yerde listeletebilirsiniz
    ek olarak query_post(showpost=5&post_type=dizi) olarak ekleme yapmanız gerekecek. Döngünüze bu şekilde ekleme yaptığınız vakit listelenecek dizileriniz, single-dizi.php içerisinde açılacaktır.

    • Tekrar merhabalar hocam query_post(showpost=5&post_type=dizi) kodunu denedim fakat çalıştıramadım.Bunun üzerine
      ” ‘dizi’,
      ‘posts_per_page’ => -1,
      ‘services_rendered’ => $client2
      );
      $loop = new WP_Query($args); ?>

      have_posts()) : $loop->the_post(); ?>

      <a href="” rel=”bookmark” title=””>


      Bu kod ile sıralama yaptım.Fakat bu koddaki sıralamada diziye tıklayınca single-dizi.php’ye gitmiyor.Bunun nedeni ne olabilir acaba.:S Sizide yoruyorum :S

  3. Hocam merhabalar.Ben herşeyi yaptım.Herşey çalışıyor.Ancak benim yapmak istediğim şey Bir dizi sayfası yapmak.Yani her dizi için ayrı bilgiler ayrı resimler girilecek Ben bu sayfaları nasıl yapabilirim.single-dizi.php sayfa var bunun içine ne yazmam gerek eklenen dizileri buraya çağırmak için.Şimdiden teşekkürler.

    • 6 sene önce

      Yukarıda arkadaşa verdiğim custom type metabox özelliğini kullanabilirsiniz, özel alan ile veriyi çekebilir single-dizi.php içerisinde özel alan ile beraber ekleme yapabilirsiniz. Kolay gelsin.

      • Peki hocam bu dizilere index üzerinden nasıl gönderebilirim.Yani single-dizi.php ye nasıl gönderebilirim.O diziyi.Anlatamadıysam kusurabakmayın.Şöyle bir örnek vereyim.Mesela Arrow, Supernatural diye dizilerimizi sıraladık indexde Diziler diye bir yerde. Bu Arrow’a tıklayınca nasıl single-dizi.php ye gidebilir.Tekrar k.bakmayın bu custom type ve metaboxlar hakkında fazla bilgim yok.

  4. peki oluşturulan custom posta özel metabox nasıl yaparız

  5. metin yapamadım. fuctions.php kodları atıyorum komple. düzenler misin rica etsem. ben yaptım hata verdi.

    https://www.metinsarac.net/wp-content/uploads/custom_post_type_comment_hiyerarsi_functions.rar

  6. 6 sene önce

    Metabox’lar ile İlgili Olan Kısım Dursun.

    Üst Taraftaki Kodları https://www.metinsarac.net/wp-content/uploads/post_type_yorum.txt bu şekilde değiştirin 🙂

  7. benim post_type kodu şu şekilde. bunu düzenleyip verebilir misin Metin. Zira post_type kategori özelliğini desteklemiyor.

    https://www.metinsarac.net/wp-content/uploads/kiki_post_type_comment.txt

  8. Metin kardeşim. post_type kullanıyoruz. bu post_type bölümüne eklenen içerikleri normal kategori açıp nasıl ekleriz bana izah edebilir misin? Senin konuda anlattığın gibi functions.php dosyası içerisinde post_type kodları var ama ben bunu normal kategori açıp orada yayınlamam lazım. yeni temamda içerikleri gösterebilmek için.

    • 6 sene önce

      Post_Type kategori özelliğiniz varsa tüm kategorideki yazıları post_type olmayan bir başka kategoriye taşıma işlemi yapabilirsiniz.

      Tümünü Seçip Hızlı Düzenle > Kategori > Başka bir kategoriye aktarırsanız sorun çözülür.

      Şayet Post_type kategori özelliği desteklemiyor ise önce kategori özelliğini destekleyip sonra bahsettiğim işlemi yapmanız gerekecektir.
      Kategori Özelliğini destekleyebilmesi içinde. Verdiğim Kodda 25.Satırdaki kodu kendi post_type kodunuzun uygun bir yerine eklemeniz gerekecektir.

      ‘taxonomies’ => array( ‘category’, ‘post_tag’, ‘page-category’ ),

      eklenmesi gereken kod budur 🙂 Kolay Gelsin 🙂

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.