Kategoriler
Wordpress

WordPress Custom Type Kullanımı ve Temaya Eklenmesi

WordPress Custom Type 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 wordpress Custom Type 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.

“WordPress Custom Type Kullanımı ve Temaya Eklenmesi” için 15 yanıt

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

Şö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

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.

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.

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.

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 🙂

Bir cevap yazın

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