WordPress Event Driven Programming Model

WordPress Event Driven Programming Model – WordPress की एक मुख्‍य विशेषता ये भी है कि हम बिना इसके Core Code में किसी भी तरह का परिवर्तन किए हुए इसकी Functionality को अपनी जरूरत के अनुसार Extend कर सकते हैं और WordPress की Functionality को Extend करने के लिए हम Theme या Plugin का प्रयोग कर सकते हैं।

जब हम WordPress में किसी Functionality को Append करते हुए WordPress को Extend करना चाहते हैं, तब हमें इस बात को समझना जरूरी होता है कि हम जिस Requirement को पूरा करने के लिए WordPress को Extend करना चाहते हैं, उस जरूरत को Custom Theme द्वारा पूरा किया जाना चाहिए या Custom Plugin द्वारा।

चूंकि हम दोनों ही तरीकों से WordPress को Extend कर सकते हैं, लेकिन जब हमें किसी ऐसी Functionality की जरूरत हो, जिसकी जरूरत Theme को Change करने के बावजूद रहती है, तो हमें ऐसी Functionality प्राप्त करने के लिए Custom Plugin बनाना चाहिए।

जबकि यदि वह Functionality पूरी तरह से Theme पर आधारित हो और Theme के Change होने के साथ ही उस Functionality की जरूरत भी समाप्त हो जाती हो, तो हमें ऐसी Functionality को Custom Theme द्वारा Implement करना चाहिए।

Custom Plugins का प्रयोग करके हम किसी भी तरह की Functionality के लिए WordPress को Extend कर सकते हैं। लेकिन इससे पहले कि हम WordPress की Functionalities को Extend करने के लिए Plugins Create करने के विषय में और जानकारी प्राप्त करें, पहले WordPress के Event Driven Programming Model को बेहतर तरीके से समझ लेना हमारे लिए उपयोगी रहेगा।

WordPress Event Driven Programming Model

WordPress भी Visual Basic की तरह ही एक Event Driven Programming Model को Follow करता है। इसलिए यदि हम एक बार WordPress के Event Handling Model को समझ लें, तो बडी ही आसानी से इसके Plugins व Themes की कार्यप्रणाली को भी समझ सकते हैं और अपनी जरूरत के अनुसार नए Plugin Themes Design कर सकते हैं।

WordPress के Hooks ही वास्तव में WordPress के Events होते हैं, जो कि WordPress के Initialization के दौरान किसी Particular Execution Point को Represent करते हैं।

यानी जब हम WordPress Powered Website के किसी Admin Page या User Page को Visit करते हैं, तो उस Webpage को Render करने के लिए WordPress Engine का पूरा एक Initialization Process Follow होता है और इस Initialization के दौरान WordPress में जगह-जगह do_action() apply_filters() नाम के WordPress API Functions द्वारा Signal के रूप में किसी Hook यानी Event को Setup या Fire कर दिया जाता है।

उदाहरण के लिए जब हम WordPress के Admin Panel में कोई नया Page या Post Create करके Save करते हैं तो Page/Post Save करने से Just पहले WordPress Engine “pre_post_save” नाम का एक Event या Hook Fire करता है।

परिणामस्वरूप यदि हम हमारे किसी User Defined Custom Code को Page/Post के Save होने से Just पहले Execute करना चाहें, तो उस Code को हम इस “pre_post_save” Event/Hook के Fire होने के Response में Execute कर सकते हैं।

Event या Hook को Fire करने का काम do_action() या apply_filters() नाम के WordPress API Functions द्वारा किया जाता है, इसलिए यदि हम चाहें, तो अपनी जरूरत के अनुसार अपने स्वयं के Custom Events भी Fire कर सकते हैं, जिसके बारे में हमने WordPress Hook System Chapter के अन्तर्गत Discuss किया था।

Fire होने वाले Hook यानी Event के Response में हम जिस Code को Execute करना चाहते हैं, उस Code को WordPress में Action Handler जबकि Visual Basic जैसी Event Driven Programming Language में Response या Event Handler के नाम से जाना जाता है और WordPress में Event Handler Function को Response के रूप में Execute करने के लिए add_action() या add_filter() नाम के WordPress API Functions को Call किया जाता है।

परिणामस्वरूप किसी WordPress Powered Website के Admin या User Page को Web Browser में Load करने पर जो Initialization Process Follow होता है, उस Initialization Process के दौरान विभिन्न Execution Points पर do_action() या apply_filters() API Functions द्वारा जो Hook या Events Fire किए जाते हैं, उन Events के Response में हम जिन User Defined Functions को Execute करना चाहते हैं, उन्हें क्रमश: add_action() या add_filter() API Functions के दूसरे Argument के रूप में Specify कर देते हैं।

इस पूरी Action (Hook or Event)Response (Event Handler Function) की कार्यप्रणाली को हम निम्नानुसार एक उदाहरण द्वारा ज्यादा बेहतर तरीके से समझ सकते हैं:

// File Name: wp-content/themes/bccfalna/functions.php
<?php
add_action('wp_footer', 'hook_or_event_handler');
function hook_or_event_handler(){
    echo "<h1>This is from the wp_footer Hook</h1>";
}

wp_footer Hook को WordPress Engine द्वारा Exactly तब Fire किया जाता है, जब WordPress Engine का Control हमारे Webpage के Closing </body> Element से Just पहले पहुंच चुका होता है।

इसलिए जब Webpage Rendering के दौरान wp_footer Event Fire होता है, उस Event के Response में उपरोक्त Code में Specified add_action() Function Trigger होता है:

add_action(wp_footer, hook_or_event_handler);

क्योंकि इस Statement द्वारा हमने WordPress System को इस बात का Indication दिया है कि जैसे ही ‘wp_footer’ Event Fire हो, यानी जैसे ही WordPress Engine का Control, Render होने वाले Webpage के Closing </body> Element से Just पहले पहुंचे, hook_or_event_handler() नाम का Event Handler Function Execute हो जाए।

परिणामस्वरूप wp_footer Event के Fire होते ही, उपरोक्त Code का hook_or_event_handler() Function Execute हो जाता है:

function hook_or_event_handler(){
    echo "<h1>This is from the wp_footer Hook</h1>";
}

और हमें हमारे Webpage पर Output के रूप में Footer में एक निम्न चित्रानुसार Message दिखाई देने लगता है:

जो कि वही Message है, जिसे हमने hook_or_event_handler() Function में ECHO किया है। इस प्रकार से add_action() API Function में Specify किया गया पहला Parameter WordPress के किसी Event को Represent करता है, जबकि दूसरे Parameter के रूप में Specified Function का नाम उस Event के Response में Execute होने वाले Event Handler को Represent करता है, जिसे हम निम्नानुसार Represent कर सकते हैं:

add_action(Hook/Event Name, Event Handler Function Name);

इस तरह से जब हम WordPress में कोई Theme या Plugin Develop करते हैं, तब हमें केवल इतना ध्‍यान रखना होता है कि किस Event यानी किस Hook के Response में हमें किस Event Handler Function को Execute करना है और add_action() या apply_filters() API Functions के पहले Argument के रूप में उस Event या Hook को तथा दूसरे Argument के रूप में Execute होने वाले Callback Function या Event Handler के नाम को Specify करना होता है।

जबकि WordPress की Functionality को Extend करने के लिए Execute किए जाने वाले Codes को हमें Callback Function या Event Handler Function की Body में 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