WordPress Meta Box – Add, Get, Save, Delete

WordPress Meta Box – अपने WordPress Plugin को हमारे Plugin को Use करने वाले User हेतु WordPress में Integrate करना एक महत्वपूर्ण Step होता है, ताकि User हमारे Plugin के साथ Interact करके उसे उपयोग में ले सके व किसी Specific Type की जरूरत को पूरा कर सके। WordPress हमें विभिन्न प्रकार के Area Provide करता है, जहां हम हमारे Plugin को Integrate कर सकते हैं। जिसके अन्तर्गत Meta Box को Dashboard Widget, Sidebar व Custom Shortcodes के माध्‍यम से Include किया जा सकता है।

उदाहरण के लिए जब हम हमारे Posts के साथ Tags को Associate करना चाहते हैं, तो Post Tags Meta Box हमें इस जरूरत को पूरा करने की सुविधा Provide करता है। यानी Meta Box हमें हमारे Content के साथ Additional Data को आसानी से Add करने की सुविधा Provide करते हैं।

Adding Custom Meta Box

WordPress में Custom Meta Box Create करने के लिए हमें add_meta_box() API Function को Use करना होता है। ये Function हमें हमारे Custom Meta Box को Define करने से सम्बंधित सभी Aspects को Define करने की सुविधा Provide करता है। इस API Function को निम्नानुसार Define किया गया है:

add_meta_box( id, title, callback, page, context, priority, callback_args );

id Parameter

हमारे Custom Meta Box को जिस DIV Element के बीच Wrap किया जाता है, उसके CSS ID को इस Parameter के रूप में Specify किया जाता है, जिसका प्रयोग उस Meta Box की Styling व Layout Set करने के लिए किया जा सकता है।

title Parameter

हमारे Custom Meta Box के Heading के रूप में दिखाई देने वाले ज्पजसम को इस Parameter के रूप में Specify किया जाता है।

callback Parameter

Custom Meta Box को Display करने का काम ये Callback Function करता है। यानी Custom Meta Box के User Interface से सम्बंधित Codes को इस Callback Function में लिखा जाता है।

page Parameter

हमें हमारे Custom Meta Box को WordPress Admin Panel के जिस Page पर Show करना होता है, उस Page का नाम इस Parameter के रूप में Specify किया जाता है। जैसे (post, page, link, etc…)

context Parameter

हमें हमारे Custom Meta Box को WordPress Admin Panel के किसी Page के जिस Section या Part में Show करना होता है, उस Part का नाम इस Parameter के रूप में Specify किया जाता है। जैसे (normal, advance, side, etc…)

priority Parameter

चूंकि किसी WordPress Admin Panel Page पर कई Meta Box हो सकते हैं, इसलिए हमें हमारे Custom Meta Box को उस Admin Panel Page पर जिस Position पर Show करना होता है, उस Position को इस Parameter में Specify किया जाता है। जैसे (high, low, default, core, etc…)

callback_args Parameter

हमें हमारे Custom Meta Box के Callback Function को जो Arguments Pass करने होते हैं, उन्हें इस Parameter के रूप में Specify किया जाता है।

इसे समझने के लिए हम निम्नानुसार एक नया Example Plugin Create कर सकते हैं, जो कि हमारे Post Screen के साथ एक नया Custom Meta Box Integrate करने का काम करता है:

<?php 
/*
Plugin Name: Custom Meta Box
Plugin URI: https://www.bccfalna.com/wpplugins/custom-meta-box/
Description: Custom Meta Box Development
Author: Kuldeep Chand
Version: 1.0
Author URI: https://www.bccfalna.com/
*/

add_action( 'add_meta_boxes', 'custom_meta_create' );

function custom_meta_create() {
	add_meta_box( 
		'custom-meta', 'My Custom Meta Box', 'custom_meta_display', 'post','normal', 'high' 
	);
}

function custom_meta_display() {
	echo 'Welcome to my meta box!';
}

इस Plugin में सबसे पहले हमने “add_meta_boxes” Action Hook को Use करते हुए अपने Custom Meta Box को WordPress Engine से Associate किया है, ताकि जैसे ही ये Action Trigger हो, हमारा Custom Meta Box Create होने के लिए custom_meta_create() Function को Invoke कर दे।

ये Function Execute होते ही add_meta_box() API Function Execute हो जाता है, जो कि हमारे WordPress Admin Panel के “post” Page के “normal” Context में High Priority के साथ एक Custom Meta Box Integrate कर देता है, जिसका Title या Heading “My Custom Meta Box” होता है और CSS ID “custom-meta” होता है।

हालांकि इस Method के Execute होने के साथ ही हमारा Custom Meta Box, हमारे WordPress Admin Panel के “post” Page के Normal Area में Integrate या Add हो जाता है लेकिन इसमें Display होने वाले Content को Control करने का काम “custom_meta_display” नाम के Callback Function द्वारा किया जाता है। परिणामस्वरूप जैसे ही हम इस Plugin को Activate करके नया Post Create करते, निम्न चित्रानुसार हमें हमारा Custom Meta Box दिखाई देने लगता है:

WordPress Meta Box - Add, Get, Save, Delete in Hindi

Getting Custom Meta Box Data

Custom Meta Box की मुख्‍य Power यही है कि इनका प्रयोग करके हम हमारे किसी Post, Page या अन्‍य किसी प्रकार के Custom Post Type के साथ Additional Data को Save करने की सुविधा प्राप्त कर लेते हैं। किसी भी प्रकार के Content के साथ Save किए गए Additional Content Data को METADATA कहा जाता है। उदाहरण के लिए किसी Post के साथ Add किए जाने वाले Tags को हम METADATA कह सकते हैं।

इसी तरह से किसी भी नए Page/Post को Create करते समय अथवा किसी Page/Post को Edit करते समय उस Post/Page के साथ Custom Fields नाम का Custom Meta Box Default रूप से Exist रहता है। ये Custom Fields हमें हमारे Content के साथ METADATA Save करने के लिए एक Quick Way Provide करते हैं।

जैसाकि हम जानते हैं कि Page व Post के अलावा हम हमारी जरूरत के अनुसार Custom Post Type भी Create कर सकते हैं और किसी भी प्रकार के Post के साथ हम हमारी जरूरत के अनुसार METADATA को Add कर सकते हैं। उदाहरण के लिए मानलो कि हम WordPress के ही Post द्वारा एक Product को Promote करते हैं और हर Project के साथ उसकी Price को Additional Field के रूप में Save करना चाहते हैं।

इस जरूरत को पूरा करने के लिए हमें पिछले Section में Discuss किए अनुसार ही एक Custom Meta Box को Add करना होता है। Custom Meta Box को Add करने के बाद हम निम्नानुसार Codes द्वारा custom_meta_display() Function को Modify कर सकते हैं, जो कि हमारे Product के साथ उसकी Price को Additional METADATA के रूप में Specify करने का काम करेगा-

function custom_meta_display($post){
	//Retrieve the metadata values if they exist
	$price = get_post_meta( $post->ID, '_price', true );
	echo 'Please fill out the information below';
?>
	<p> 
		Price: <input type="text" name="price" value="<?php echo esc_attr( $price ); ?>" /> 
	</p>
<?php
}

जब हम हमारे इस Modified Function के साथ अपने Plugin को Modify करके Activate करते हैं, तो नया Post Create करते समय हमें हमारा Custom Meta Box निम्नानुसार दिखाई देता है:

WordPress Meta Box - Add, Get, Save, Delete in Hindi

इस Custom Meta Box में हम हमारे Newly Create होने वाले Post के साथ उसमें Discussed Product की Price को Specify कर सकते हैं।

WordPress in Hindi - BccFalna.comये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Advance WordPress in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी है, तो निश्चित रूप से ये EBook भी आपके लिए काफी उपयोगी साबित होगी।

Advance WordPress in Hindi | Page: 835 | Format: PDF

BUY NOW GET DEMO REVIEWS