WordPress Custom Post Type Metabox

WordPress Custom Post Type Metabox

WordPress Custom Post Type Metabox

Merhabalar,

daha önce ki bir yazımda, Custom Post Type kullanımı hakkında detaylıca bilgi vermeye çalışmıştım.
İlgili Makale : WordPress Custom Type Kullanımı ve Temaya Eklenmesi konusunda detayları anlattım fakat aldığım mailler ve gördüğüm sorunların başında gelen işlemlerden birisi şu ki, Custom Post Type ile eklediğiniz içeriklere özel alan ile birlikte eklediğiniz bilgileri Metabox ile desteklemek, yabancı kaynaklarda da net olarak bilgi verilmemiş olsa da kendi çapımda yazdığım kodlar yeterli bir şekilde benim işimi görmekte sizin de işinizi görebileceğini inanıyorum, Kolay gelsin.

Örnek Görsel

Custom-post-type-metabox

 

İşlemimiz 3.Aşamada tamamlanacak, fakat 2 ve 3. Aşamaları üstte verdiğim linkten takip edebilirsiniz.

 

1.Aşama

<?php

function isim_custom_init() {
$labels = array(
'name' => _x( 'İsim', 'isim' ),
'singular_name' => _x( 'İsim', 'isim' ),
'add_new' => _x( 'İsim Ekle', 'isim' ),
'add_new_item' => _x( 'İsim isim Ekle', 'isim' ),
'edit_item' => _x( 'Düzenle', 'isim' ),
'new_item' => _x( 'Yeni İsim', 'isim' ),
'view_item' => _x( 'Görüntüle', 'isim' ),
'search_items' => _x( 'Ara', 'isim' ),
'not_found' => _x( 'Bulunamadı', 'isim' ),
'not_found_in_trash' => _x( 'Boşalt', 'isim' ),
'parent_item_colon' => _x( 'Parent isim:', 'isim' ),
'menu_name' => _x( 'İsim', 'isim' ),

'menu_name' => 'sim Detay'

);
$args = array(

'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'menu_icon' => get_bloginfo( 'template_directory' ) . '/images/isim.gif',

'show_ui' => true,
'show_in_menu' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'isim' ),
'capability_type' => 'page',
'has_archive' => true,
'hierarchical' => true,
'menu_position' =>4,

'supports' => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'page-attributes' ),
);

register_post_type( 'isim', $args );
}
add_action( 'init', 'isim_custom_init' );
//adding the meta box when the admin panel initialises
add_action("admin_init", "admin_init");
// this adds the save teaser function on save post
add_action('save_post', 'save_teaser');

function admin_init(){
add_meta_box('teaser_loop', 'Ayarlar', 'loop_meta', 'isim', 'normal', 'default');
}
// callback function of add meta box that displays the meta box in the post edit screen
function loop_meta($post, $args){
$konu = get_post_meta($post->ID, 'konu', true);
$turler = get_post_meta($post->ID, 'turler', true);
?>
<style>
.baslik {width:800px;font-weight:bold;font-size:15px}
textarea {
border: 1px solid #CCCCCC;
background-color: #FFFFFF;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
width:600px;
margin-top:5px;
color:red;}
.textbox {
border: 1px solid #CCCCCC;
background-color: #FFFFFF;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
width:600px;
margin-top:5px;
color:red;}</style>

<div class="button realcuf baslik"><label>Konu </label></div><div style="clear:both;"></div>
<textarea type="textarea" name="konu" /><?php echo $konu; ?></textarea><br/>

&nbsp;

<div class="button realcuf baslik"><label>Türler </label></div><div style="clear:both;"></div>
<input class="textbox" type="text" name="turler" value="<?php echo $turler; ?>" /><br/>

<?php

}

// saving the teaser
function save_teaser(){
global $post;
update_post_meta($post->ID, 'konu', $_POST['konu']);
update_post_meta($post->ID, 'turler', $_POST['turler']);

}

&nbsp;

?>

 

2 ve 3 Aşamaları WordPress Custom Type Kullanımı ve Temaya Eklenmesi buradan takip edebilirsiniz.

2 Beğen

Yapılan Yorumlar

  1. Öncelikle hocam yazılarınız çok yararlı sizi tebrik ederim size bir sorum olacak bu konuyla alakalı değil wordpress ile ilgili bir soru

    http://i.hizliresim.com/QgnOqZ.png

    hocam anasayfada kategorileri böyle sıralıyorlar belki görmüşünüzdür Şimdi sorun farklı divler ile nasıl döngü kurabilirim yani kücük ve büyük adında divi nasıl döngüye ekleyebilirim

    Şimdiden teşekkür ederim 🙂

  2. çok faydalı oldu çok teşekkürler

  3. Bizimle’de paylaştığınız için teşekkür ederiz metin bey.

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.