wordpress özel yazı tipi,alan kategori eklemek
WordPress Özel Yazı Alanları Oluşturmak
Bu yazıda Kafeler başlığı altında özel yazı tipi ekleyeceğiz. 3 adet özel alan ekleyeceğiz(Website,Adres ve Telefon) ve özel taksonomi olarak Ülkeler kelimesini kullanacağız.
Aşağıdaki kod functions.php sayfasına eklenebilir.
/** * Kafeler Özel Yazı Tipi */ function olustur_ozel_kafeler() { register_post_type( 'kafeler', array( 'labels' => array( 'name' => 'Kafeler', 'singular_name' => 'Kafe', 'add_new' => 'Yeni Ekle', 'add_new_item' => 'Yeni Kafe Ekle', 'edit_item' => 'Kafe Duzenle', 'new_item' => 'Yeni Kafe', 'view_item' => 'Goruntule Kafe', 'search_items' => 'Kafeler Ara', 'not_found' => 'Bisey Bulunamadı', 'not_found_in_trash' => 'Copte bisey bulunamadı', 'parent_item_colon' => '' ), 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true, //'menu_icon' => get_stylesheet_directory_uri() . '/resminiz.png', 'rewrite' => true, 'capability_type' => 'post', 'hierarchical' => false, 'menu_position' => null, 'supports' => array('title','editor','thumbnail') ) ); } add_action( 'init', 'olustur_ozel_kafeler' );
Özel Taksonomiler
Taksonomiler aslında yazı tipleri için etiketlerdir. Aşağıdakini register_post_type kodununj altına ekleyin.
//Kafe ülkeler taksonomi register_taxonomy("ulkeler", array("kafeler"), array( "hierarchical" => false, "label" => "Ulkeler", "singular_label" => "Ulke", "rewrite" => true ));
Özel Alanlar
İşin stresli kısmı burası ama çok zor değil. Kutucuklar yapmak için sadece biraz fazla HTML yazmak gerekiyor. Meta kutularına dilediğiniz kadar HTML yazabilirsiniz.
<?php /** * kafe ozel alan ekle */ function add_cafe_meta_boxes() { add_meta_box("cafe_contact_meta", "iletisim detaylari", "add_contact_details_cafe_meta_box", "kafeler", "normal", "dusuk"); } function add_contact_details_cafe_meta_box() { global $post; $custom = get_post_custom( $post->ID ); ?> <style>.width99 {width:99%;}</style> <p> <label>Adres:</label><br /> <textarea rows="5" name="address" class="width99"><?= @$custom["address"][0] ?></textarea> </p> <p> <label>Website:</label><br /> <input type="text" name="website" value="<?= @$custom["website"][0] ?>" class="width99" /> </p> <p> <label>Telefon:</label><br /> <input type="text" name="phone" value="<?= @$custom["phone"][0] ?>" class="width99" /> </p> <?php } /** * Ozel alan bilgilerini yazi olusturken/guncellerken kaydet */ function save_cafe_custom_fields(){ global $post; if ( $post ) { update_post_meta($post->ID, "address", @$_POST["address"]); update_post_meta($post->ID, "website", @$_POST["website"]); update_post_meta($post->ID, "phone", @$_POST["phone"]); } } add_action( 'admin_init', 'add_cafe_meta_boxes' ); add_action( 'save_post', 'save_cafe_custom_fields' );
Özel Sayfalar
Yeni yazınızı diğer sayfalarınızdan farklı olmasını isteyebilirsiniz.Bunu özel sayfa şabonu oluşturarak yapabilirsiniz. WordPress codex size bunu nasıl yapacağınızı açıklıyor ama ben kendi yaptığım üzerinden açıklama yapacağım.Bunu kendi temamda uyguladım ama sizin temada da başarılı olması bekleniyor.
single.php sayfasını tekil-<yazi tipi>.php dosyasına yapıştırın.
Bunu: php get_template_part( ‘content’, get_post_format() );
Bu: get_template_part( ‘content’, ‘<yazi tipi>’ ); ile değiştirin.
content.php dosyasını content-<yazi tipi>.php şeklinde çoğaltın ve dilediğiniz gibi düzenleyin.
Bitirirken:
Yeni özel sayfanız hazır.Wordpress son fonksiyonları her zaman kontrol etmey unutmayın.Orada bununla alakalı yararlı bilgiler bulunabilir.
Bir cevap yazın