سفارشی کردن نوع پست در وردپرس

یکی از قابلیت های جالب در وردپرس ۳٫۰ و بالاتر این است که می توانید به طور کاملا منحصر به فرد نوع پست های خود را سفارشی کنید. بعد از آن شما باید کمی وقت صرف کنید و پایگاه داده های خود را گسترش دهید. حالا شما باید چند خط کد اضافه کنید البته این فقط برای شرایط فعلی است که می تواند برای نسخه ی نهایی تغییر کند.

راه حل ساده

[sourcecode language=”php”]
function post_type_sample() {
register_post_type( ‘sample’,
array( ‘label’ => __(‘نمونه’), ‘public’ => true, ‘show_ui’ => true ) );
register_taxonomy_for_object_type(‘post_tag’, ‘sample’);
}
add_action(‘init’, ‘post_type_sample’);
[/sourcecode]

 

پارامترهای بیشتر برای متا

البته برای این قسمت پارامتر های زیادی وجود دارد که می توانیم از آنها استفاده کنیم. کد های زیر یک مثال ساده استفاده از پارامتر ها است.

[sourcecode language=”php”]
function post_type_sample() {
register_post_type(
‘sample’,
array(‘label’ => __(‘نمونه’),
‘public’ => true,
‘show_ui’ => true,
‘supports’ => array(
‘post-thumbnails’,
‘excerpts’,
‘trackbacks’,
‘custom-fields’,
‘comments’,
‘revisions’)
)
);
register_taxonomy_for_object_type(‘post_tag’, ‘sample’);
}
add_action(‘init’, ‘post_type_sample’);

[/sourcecode]

 

استدلال های پیش فرض

[sourcecode language=”php”]
// Args prefixed with an underscore are reserved for internal use.
$defaults = array(
‘label’ => false,
‘publicly_queryable’ => null,
‘exclude_from_search’ => null,
‘_builtin’ => false,
‘_edit_link’ => ‘post.php?post=%d’,
‘capability_type’ => ‘post’,
‘hierarchical’ => false,
‘public’ => false,
‘rewrite’ => true,
‘query_var’ => true,
‘supports’ => array(),
‘register_meta_box_cb’ => null,
‘taxonomies’ => array(),
‘show_ui’ => null
);

[/sourcecode]

داخل کردن طبقه بندی سفارشی

در مثال های دنبال شده ما طبقه بندی برای نوع پست هایمان درون ریزی کردیم که ۲ قابلیت داشت: برچسب ها و دسته بندی ها برای نمونه

[sourcecode language=”php”]
function post_type_sample() {
register_post_type(
‘sample’,
array(
‘label’ => __(‘نمونه’),
‘public’ => true,
‘show_ui’ => true,
‘supports’ => array(
‘post-thumbnails’,
‘excerpts’,
‘trackbacks’,
‘custom-fields’,
‘comments’,
‘revisions’)
)
);
register_taxonomy( ‘sample1’, ‘sample’, array( ‘hierarchical’ => true, ‘label’ => __(‘نمونه ?’) ) );
register_taxonomy( ‘sample2’, ‘نمونه ?’,
array(
‘hierarchical’ => false,
‘label’ => __(‘نمونه ?’),
‘query_var’ => ‘sample2’,
‘rewrite’ => array(‘slug’ => ‘sample2’ )
)
);
}
add_action(‘init’, ‘post_type_sample’);
[/sourcecode]

 

اینم یه ویژگی جالبه جدید!!!

نویسنده مطلب
علی پامناری

دیدگاه کاربران

این وب سایت متعلق است به آذین وب (طراحی سایت در اصفهان) و تمامی حقوق آن محفوظ است.

طـبق ماده 12 فصل سوم قانون جرائم رایانه ای هرگونه کپی برداری از قالب پیگرد قانونی دارد.