यद्यपि आपको कुछ सत्यापन जोड़ना होगा, लेकिन यह क्रिया वर्डप्रेस के वर्तमान संस्करण के लिए जटिल नहीं लगती है।
मूल रूप से आपको कस्टम पोस्ट प्रकार में कस्टम फ़ील्ड जोड़ने के लिए दो चरणों की आवश्यकता होती है:
- एक मेटाबॉक्स बनाएं, जो आपके कस्टम फ़ील्ड को रखता है
- अपने कस्टम फ़ील्ड को डेटाबेस में सहेजें
ये चरण विश्व स्तर पर यहां वर्णित हैं: 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_Reference/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' );