Genel

WordPress Özel Yazı Türü Oluşturmak – Web Tasarım – SEO Danışmanlığı – İzmir

[ad_1]

wordpress özel yazı türü oluşturmak, wordpress yazı eklentisi, wordpress yazı özelleştirme, wordpress ek yazı alanları

Merhabalar. Bu yazımızda wordpress yazılar özelliğini kullanarak yeni ve özel bir yazı türü nasıl oluşturabiliriz buna değinmek istiyorum. Özel yazı türü derken ne demek istediğimi ufacık açıklayayım. Diyelim ki sitenizde bir filmler kategorisi oluşturdunuz ve filmleri standart bir düzende kaydetmek istiyorsunuz. Her film için ortak olan özellikleri bir kayıt formu şeklinde kaydetmek ve kullanıcılara da belli bir düzen içinde göstermek istiyorsunuz.

Daha anlaşılır olması için bir görsel ile açıklayalım :

wordpress özel yazı türü (advanced custom field) oluşturma
wordpress özel yazı türü (advanced custom field) oluşturma

Bu şekilde hem kaydetme işlemini daha kolay bir hale getirebilir, hemde kullanıcı tarafında düzgün bir görünüm oluşturabilirsiniz. Peki bu wordpress özel yazı türlerini nasıl ekleyebiliriz? şimdi buna bakalım.

Öncelikle aşağıdaki kodu temamızın functions.php dosyasına ekliyoruz.

function custom_post_type() {
 
// Set UI labels for Custom Post Type
    $labels = array(
        'name'                => _x( 'Filmler', 'Post Type General Name', 'batuhanozyavru.com.tr.tr' ),
        'singular_name'       => _x( 'Film', 'Post Type Singular Name', 'batuhanozyavru.com.tr.tr' ),
        'menu_name'           => __( 'Filmler', 'batuhanozyavru.com.tr.tr' ),
        'parent_item_colon'   => __( 'Ebeveyn Film', 'batuhanozyavru.com.tr.tr' ),
        'all_items'           => __( 'Tüm Filmler', 'batuhanozyavru.com.tr.tr' ),
        'view_item'           => __( 'Filmi Gör', 'batuhanozyavru.com.tr.tr' ),
        'add_new_item'        => __( 'Yeni Film Ekle', 'batuhanozyavru.com.tr.tr' ),
        'add_new'             => __( 'Yeni Ekle', 'batuhanozyavru.com.tr.tr' ),
        'edit_item'           => __( 'Filmi Düzenle', 'batuhanozyavru.com.tr.tr' ),
        'update_item'         => __( 'Filmi Güncelle', 'batuhanozyavru.com.tr.tr' ),
        'search_items'        => __( 'Film Ara', 'batuhanozyavru.com.tr.tr' ),
        'not_found'           => __( 'Bulunamadı', 'batuhanozyavru.com.tr.tr' ),
        'not_found_in_trash'  => __( 'Silinenler Arasında Bulunamadı', 'batuhanozyavru.com.tr.tr' ),
    );
     
// Set other options for Custom Post Type
     
    $args = array(
        'label'               => __( 'filmler', 'twentythirteen' ),
        'description'         => __( 'Film yazı dizinizi oluşturun', 'batuhanozyavru.com.tr.tr' ),
        'labels'              => $labels,
        'supports'            => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ),
        'hierarchical'        => false,
        'public'              => true,
        'show_ui'             => true,
        'show_in_menu'        => true,
        'show_in_nav_menus'   => true,
        'show_in_admin_bar'   => true,
        'menu_position'       => 5,
        'can_export'          => true,
        'has_archive'         => true,
        'exclude_from_search' => false,
        'publicly_queryable'  => true,
        'capability_type'     => 'page',
         
        // This is where we add taxonomies to our CPT
        'taxonomies'          => array( 'category' ),
    );
     
    // Registering your Custom Post Type
    register_post_type( 'filmler', $args );
 
}
 
/* Hook into the 'init' action so that the function
* Containing our post type registration is not 
* unnecessarily executed. 
*/
 
add_action( 'init', 'custom_post_type', 0 );

add_filter('pre_get_posts', 'query_post_type');
function query_post_type($query) {
  if( is_category() ) {
    $post_type = get_query_var('post_type');
    if($post_type)
        $post_type = $post_type;
    else
        $post_type = array('nav_menu_item', 'post', 'filmler'); // don't forget nav_menu_item to allow menus to work!
    $query->set('post_type',$post_type);
    return $query;
    }
}

Kodu eklediğimiz zaman ilk görselde olduğu gibi yeni özel bir yazı alanın oluştuğunu göreceksiniz. Ancak yeni film ekle dediğimizde film özelliklerine ait form henüz yok. Eklediğimiz bu kod ile sadece özel bir yazı alanı oluşturduk. Şimdi gelelim film özelliklerini kaydedeceğimiz özel bir form oluşturup , bu form ile özel yazı alanımızı ilişkilendirmeye..

Ben bu işlem için bir eklenti kullanmayı tercih ediyorum. Eklenti sayesinde özel alanları daha kolay oluşturup ilişkilendirmek mümkün.

Kullanacağımız eklentinin adı, wordpress advanced custom fields (wordpress gelişmiş özel alanlar)

Eklentiyi indirmek için tıklayın:
İndir: Advanced Custom Fields (Gelişmiş Özel Alanlar)

Eklenti ile ilgili detaylı bilgi ve açıklama için tıklayın:
Advanced Custom Fields for WordPress Developers.

Eklenti kurulumu yapmayı bildiğinizi varsayarak devam ediyorum, bilmeyenler ise buradan wordpress eklenti kurulumu hakkında bilgi sahibi olabilirler.

Eklentiyi kurup aktif ettikten sonra Admin Panel menümüzde Özel Alanlar diye bir bölüm oluşacaktır. Bu kısımdan Yeni Ekle diyerek ilgili formumuzu oluşturuyoruz. Ben örnekte verdiğimiz gibi film alanları için oluşturduğum formu sizlerle paylaşacağım. Siz bu örnekten yola çıkarak kendi ihtiyaçlarınıza özel bir form oluşturabilirsiniz.

Alan grubumuza bir isim verdikten sonra +Alan Ekle butonuna tıklıyoruz ve kullanacağımız alanları oluşturuyoruz.

wordpress özel yazı türü (advanced custom field) oluşturma
wordpress özel yazı türü (advanced custom field) oluşturma

Alan Adı kısmına yazacağımız bilgiyi daha sonra frontend kısımda kullanıcılara veri gösterirken kullanacağız. Bu bilgi bize lazım olacağından sadece ve anlaşılır terimler seçmenizi öneririm.

Alan Tipi kısmından ise veriyi ne şekilde kaydedeceğimizi seçiyoruz. Metin, checkbox (seçim kutusu) veya hangisini isterseniz. Diğer kısımlarıda kendinize göre özelleştirebilirsiniz.

Tüm alanlarımızı oluşturup formumuzu hazır hale getirdikten sonra görüntü şu şekilde olacaktır:

wordpress özel yazı türü (advanced custom field) oluşturma
wordpress özel yazı türü (advanced custom field) oluşturma

Formumuz hazır hale geldiğine göre şimdi yazının başında oluşturduğumuz filmler adındaki özel yazı türümüz ile ilişkilendirebiliriz. Kurallar kısmında bulunan kural grupları ile bu işlemi halledebiliriz. Kural grubu olarak Yazı Tipi, kural olarak eşitse ve karşılık olarak ise filmler ‘i seçiyoruz. Biz özel bir yazı tipi oluşturduğumuz için bu işlemi yaptık. Ancak eklentinin farklı bölümler ile ilişkilendirilmesi de mümkün. Örneğin sayfalar, kategoriler veya taksonomiler ile ilişkilendirerek farklı amaçlar içinde kullanabilirsiniz.

wordpress özel yazı türü (advanced custom field) oluşturma
wordpress özel yazı türü (advanced custom field) oluşturma

Artık Filmler adında bir kayıt alanımız bulunmakta, ve filmler için oluşturduğumuz özel alanlarımız kullanıma hazır duruma geldi. Şimdi ise bu bilgileri kullanıcılara nasıl göstereceğiz buna bakalım.

Temamızın single.php dosyasını açıyoruz. Bunun sebebi oluşturduğumuz firmalar kayıt biçiminin yazılardan miras alıyor olması. Özel alanlar formumuzu da firmalarla ilişkilendirdiğimiz için haliyle gösterilecek sayfa da single.php sayfası olacak.

single.php wordpress’in kendi özelliği olan yazılar kısmına eklediğimiz yazıları da göstereceği için bilgileri if else ile kontrol ediyoruz. eğer boş ise göstermesin ki yazılar içinde anlamsız görüntüler oluşmasın.

<?php if( get_field('film_adi') != null ) : ?>
        <div class="film-detay-satir">
       <span class="firma-detay"><?php the_field('film_adi') ?></span>
  </div>
<?php endif; ?>

Bu kodu single.php dosyasında görünmesini istediğimiz yere ekliyoruz. the_field(‘film_adi’) bu kısıma dikkat ederseniz, özel alan oluştururken Alan Adı kısmında verdiğimiz değer olduğunu anlayacaksınız. Diğer tüm alanları da bu şekilde alan adı bilgisini değiştirerek ekliyoruz. ilk satırda bulunan if içinde de aynı değer ile kontrol ettiğimize dikkatinizi çekmek istiyorum.

<?php if( get_field('tur') != null ) : ?>
        <div class="film-detay-satir">
       <span class="firma-detay"><?php the_field('tur') ?></span>
  </div>
<?php endif; ?>
<?php if( get_field('sure') != null ) : ?>
        <div class="film-detay-satir">
       <span class="firma-detay"><?php the_field('sure') ?></span>
  </div>
<?php endif; ?>
<?php if( get_field('yonetmen') != null ) : ?>
        <div class="film-detay-satir">
       <span class="firma-detay"><?php the_field('yonetmen') ?></span>
  </div>
<?php endif; ?>
<?php if( get_field('oyuncular') != null ) : ?>
        <div class="film-detay-satir">
       <span class="firma-detay"><?php the_field('oyuncular') ?></span>
  </div>
<?php endif; ?>

Böylelikle bu özel alanları kullanıcılara göstermiş olduk.

wordpress özel yazı türü (advanced custom field) oluşturma
wordpress özel yazı türü (advanced custom field) oluşturma

Umarım faydalı bir yazı olmuştur. Yeniden görüşmek üzere hoşçakalın.

[ad_2]
Kaynak

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu

eurcuff betrupi deneme bonusu deneme bonusu deneme bonusu veren siteler angelbets.com deneme bonusu veren siteler deneme bonusu veren siteler Ankara escort bursa escort bursa escort tuzla escort avcılar escort ataşehir escort pendik escort anadolu yakası escort ümraniye escort bursa escort bayan antalya escort bayan escort bayan izmit escort bursa escort ankara escort şişli escort istanbul escort bakırköy escort mecidiyeky escort işli escort toopla.com oclamor.com meyvidal.com istanbulviva.com ilogak.com hamkarfa.com blackmoth.org lithree.com vidsgal.com nattsumi.com şişli escort avrupa yakası escort

Kapalı