WordPress Admin Menu – जब भी हम कोई Plugin Create करते हैं, तो सामान्यत: उस Plugin के माध्यम से हम ये तय करते हैं कि User को दिखाई देने वाले Webpage में किसी Specific Functionality को कैसे Append किया जाए और किसी Functionality को Append करने के लिए हम बार-बार Core Codes या Plugin के Codes को Change नहीं करते बल्कि अपने WordPress Dashboard पर ही एक नया Panel या Sub-Panel Create कर लेते हैं, ताकि हम WordPress Dashboard द्वारा ही Plugin की Functionality को Control कर सकें।
चूंकि हम Plugin द्वारा Perform किए जाने वाले Task के लिए किसी Specific Setting को WordPress Dashboard यानी Admin Panel द्वारा ही Control करना चाहते हैं, न कि Manual Code Changing द्वारा, इसलिए जब भी कभी हम कोई Plugin Create करते हैं, तो हमें सबसे उस Plugin का Backend Interface यानी Admin Interface Create करना होता है।
हम WordPress Dashboard के माध्यम से अपने Plugin को जिस तरह से Configure करना चाहते हैं, उसे Configure करने के लिए हमें एक या एक से ज्यादा Admin Pages Create करने होते हैं और इन Pages को या इन सभी Pages के Group को किसी एक Menu या Submenu Option की तरह WordPress Dashboard Panel से Attach करना होता है, ताकि हम हमारे Plugin को Newly Created WordPress Dashboard Panel पर Click करके अपने Plugin को Configure कर सकें।
WordPress हमें WordPress Dashboard पर Top Level Menu और Submenu दोनों Options Create करने की सुविधा देता है। Top Level Menu Create करने के लिए हमें WordPress के add_menu_page() API Function को Use करना होता है, जबकि Sub-Menu Create करने के लिए हमें WordPress के add_submenu_page() API Function को Use करना होता है।
WordPress Admin Menu – Top Level Menu
add_menu_page() API Function का Syntax निम्नानुसार होता है:
add_menu_page(page_title, menu_title, capability, handle, function, icon_url);
जैसाकि इस API Function के Syntax में हम देख सकते हैं कि ये Function कुल 6 Arguments Accept करता है:
page_title Argument
इस Argument में Specified Title Text हमारे Plugin Page को Open करने पर Web Browser के Page Title पर Show होता है।
menu_title Argument
इस Argument में Specified Title Text, WordPress Dashboard में Menu Name की तरह Show होता है।
capability Argument
इस Argument में हम Minimum User Capability (User Level) तय करते हैं, जो कि हमारे Menu Option को देख सकता है। यानी जो भी User इस Capability Level को Satisfy करेगा, हर उस User को हमारा Menu दिखाई देगा।
उदाहरण के लिए यदि हम इस Argument में “delete_posts” मान Specify कर दें, तो हमारा Menu केवल उन्हीं Users को दिखाई देगा, जो किसी Post को Delete करने की क्षमता यानी Capability रखते हैं।
handle/file or top_menu_slug or parent_slug Argument
इस Argument में हमें उस PHP File को Specify करना होता है, जो कि WordPress Dashboard पर दिखाई देने वाले हमारे Admin Interface को Display करता है। सामान्यत: इस Argument में हम “__FILE__” मान Specify करते हैं, जो कि हमारे Plugin File का Path होता है क्योंकि सामान्यत: हमारा Plugin File ही हमारे WordPress Interface को Create करता है।
function Argument
इस Argument में उस Function का नाम होता है, जो कि Plugin के Backend Configuration या Settings Page को Display करता है।
icon_url Argument
इस Argument में हम उस Icon का Path Specify करते हैं, जिसे हम हमारे Menu Title के साथ WordPress Dashboard पर Show करना चाहते हैं। इसका Default मान images/generic.png होता है। इसलिए यदि हम इस Argument को Specify नहीं करते, तब भी हमारे Menu Title के साथ एक Default Icon Automatically दिखाई देता है।
यदि हम WordPress Dashboard पर एक नया Top Level Menu Create करना चाहें, तो हम इस जरूरत को निम्नानुसार पूरा कर सकते हैं:
function my_custom_plugin_admin_page() { add_menu_page( 'Title of MyCustomPlugin ', 'MyCustomPlugin', 'delete_posts', 'my_custom_plugin', 'my_custom_plugin_function' ); } add_action('admin_menu', 'my_custom_plugin_admin_page');
इस Code में हमने नया Top Level Admin Menu Add करने के लिए add_menu_page() API Function को my_custom_plugin_admin_page() नाम के Function में Call किया है और इस Function को Callback Function की तरह Invoke होने के लिए add_action() API Function द्वारा “admin_menu” Event यानी Hook के साथ Register किया है।
परिणामस्वरूप जैसे ही हम हमारे WordPress के Admin Panel में Login करते हैं और सभी Admin Menu Panels Create हो जाते हैं, “admin_menu” नाम का Event Fire होता है, जिसके Response में my_custom_plugin_admin_page() नाम का Event Handler Execute हो जाता है और WordPress Admin Panel में एक नया Top Level Menu Append कर देता है।
यदि हम हमारे पिछले Plugin Page में इस Code को लिखकर फिर से अपने WordPress Dashboard को Reload करें, तो हमें हमारे WordPress Dashboard पर निम्नानुसार एक नया Top Level Menu दिखाई देने लगता है:

इस Code में Capability Parameter के रूप में हमने ‘delete_posts’ Specify किया है, जिसका मतलब ये है कि केवल उसी User के लिए ये Panel Display होगा, जो कि किसी Post को Delete करने की क्षमता रखता है। जबकि ‘my_custom_plugin_function’ मान वह Function है, जो उस समय Execute होता है, जब हम इस Panel को Click करके Select करते हैं।
जिस तरह से हमने add_menu_page() API Function का प्रयोग करके WordPress Admin Panel में एक नया Top Level Menu Item Append किया है, उसी तरह से इस Newly Created Menu Item अथवा किसी पहले से Created Menu Item में नया Submenu Item Append करने के लिए add_submenu_page() API Function Use कर सकते हैं।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Advance WordPress in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी है, तो निश्चित रूप से ये EBook भी आपके लिए काफी उपयोगी साबित होगी।
Advance WordPress in Hindi | Page: 835 | Format: PDF