যদিও আপনাকে কিছু বৈধতা যুক্ত করতে হবে, ওয়ার্ডপ্রেসের বর্তমান সংস্করণে এই ক্রিয়াটি জটিল বলে মনে হচ্ছে না।
একটি কাস্টম পোস্ট প্রকারে কাস্টম ফিল্ড যুক্ত করতে আপনার মূলত দুটি পদক্ষেপ প্রয়োজন:
- এমন একটি মেটাবক্স তৈরি করুন যা আপনার কাস্টম ফিল্ডটি ধারণ করে
- আপনার কাস্টম ফিল্ডটি ডাটাবেসে সংরক্ষণ করুন
এই পদক্ষেপগুলি বিশ্বব্যাপী এখানে বর্ণনা করা হয়েছে: http://wordpress.org/support/topic/is-it-possible-to-add-an-extra-field-to-a-custom-post-type
উদাহরণ:
"প্রিফিক্স-টিম মেম্বার্স" নামক একটি কাস্টম পোস্ট প্রকারে "ফাংশন" নামে একটি কাস্টম ফিল্ড যুক্ত করুন।
প্রথমে মেটাবক্স যুক্ত করুন:
function prefix_teammembers_metaboxes( ) {
global $wp_meta_boxes;
add_meta_box('postfunctiondiv', __('Function'), 'prefix_teammembers_metaboxes_html', 'prefix_teammembers', 'normal', 'high');
}
add_action( 'add_meta_boxes_prefix-teammembers', 'prefix_teammembers_metaboxes' );
যদি আপনার কোনও "উপসর্গ-দল মেম্বার" যুক্ত বা সম্পাদনা করেন তবে হুকটি add_meta_boxes_{custom_post_type}
ট্রিগার হয়। ফাংশনের জন্য http://codex.wordpress.org/Function_References/add_meta_box দেখুন add_meta_box()
। উপরের কলে add_meta_box()
হয় prefix_teammembers_metaboxes_html
, একটি কলব্যাক আপনার ফর্ম ক্ষেত্র যোগ করুন:
function prefix_teammembers_metaboxes_html()
{
global $post;
$custom = get_post_custom($post->ID);
$function = isset($custom["function"][0])?$custom["function"][0]:'';
?>
<label>Function:</label><input name="function" value="<?php echo $function; ?>">
<?php
}
দ্বিতীয় ধাপে আপনার নিজের কাস্টম ক্ষেত্রটি ডাটাবেসে রয়েছে। save_post_{custom_post_type}
হুক সংরক্ষণের সময় ট্রিগার করা হয় (v 3.7 থেকে, দেখুন: /programming/5151409/wordpress-save-post-action-for-custom-posts )। আপনি আপনার কাস্টম ক্ষেত্রটি সংরক্ষণ করতে এটি হুক করতে পারেন:
function prefix_teammembers_save_post()
{
if(empty($_POST)) return; //why is prefix_teammembers_save_post triggered by add new?
global $post;
update_post_meta($post->ID, "function", $_POST["function"]);
}
add_action( 'save_post_prefix-teammembers', 'prefix_teammembers_save_post' );