WordPress Action Hooks – WordPress को Extend करने के लिए, WordPress हमें कई तरह के Hooks Provide करता है, जिनके माध्यम से हम WordPress के Core Codes के Execution के दौरान अपना स्वयं का Code Execute करने के लिए WordPress Initialization Sequence में Append कर सकते हैं।
यानी WordPress हमें एक ऐसा Hook System Provide करता है, जिसका प्रयोग करके हम WordPress Initialization Process के दौरान ही Response के रूप में Return होने वाले Content को अपनी जरूरत के अनुसार Change कर सकते हैं अथवा किसी Specific Event की स्थिति में यानी किसी Specific Action के Perform होने की स्थिति में हम हमारे स्वयं के किसी Function Code को Execute करके किसी Specific Type की जरूरत को पूरा कर सकते हैं।
Hooks, WordPress Initialization Process के कुछ ऐसे Specific Points या Locations होते हैं, जहां हम हमारे Plugin Code को Attach कर सकते हैं। यानी हम हमारे स्वयं के Custom Functions को Execute होने के लिए Attach (Hook) कर सकते हैं। परिणामस्वरूप जब WordPress Initialization Process के दौरान WordPress Control किसी Specific Code Location या Point पर पहुंचता है, उस Attachment Point (Hook) पर Attached हमारा Custom Function Execute हो जाता है।
Hooks, WordPress Platform का एक बहुत ही महत्वपूर्ण Concept है, क्योंकि इसी का प्रयोग करके हम WordPress के Initialization Process के दौरान Theme या Plugin के माध्यम से Execute होने वाले Core Codes को Modify करने की क्षमता प्राप्त करते हैं।
Hooks के कारण WordPress Platform एक Event Driven Architecture आधारित Platform की तरह Treat करता है और इसके Event Driven होने की वजह से Plugin Development करते हुए WordPress की Functionalities को Extend करना काफी आसान हो जाता है।
इसका मतलब ये है कि WordPress Plugin कोई Second-Class Functionality नहीं है बल्कि WordPress के Core Codes के साथ काम करने के लिए स्वयं WordPress Core द्वारा Provide किया गया एक माध्यम है।
WordPress के इस Hook Architecture का प्रयोग करके हम बिना WordPress Core की Size को Increase किए हुए अपनी Requirement के आधार पर External Codes को WordPress Core Codes में Append करके WordPress की Functionalities को Extend कर लेते हैं। जबकि जरूरत समाप्त हो जाने पर अथवा जरूरत न होने पर इन Plugins को Deactivate या Remove करके इन्हें बडी ही आसानी से WordPress Core Codes से हटा भी सकते हैं।
Hooks Architecture को ठीक से समझे बिना हम WordPress को उसकी पूरी Flexibility व Strength के साथ उपयोग में नहीं ले सकते। इसलिए सबसे पहले हम WordPress के Hook Architecture को ही समझने की कोशिश करते हैं।
WordPress की Functionality को Extend करने के लिए हम WordPress द्वारा Provided WordPress Plugin API को Use करते हैं जो कि मूल रूप से दो Core Elements, Actions व Filters पर आधारित है और इन्हीं Actions व Filters को Actions Hook या Filter Hook कहा जाता है। हालांकि ये दोनों Conceptually काफी अलग हैं लेकिन फिर भी इन दोनों का Practical Implementation लगभग एक समान ही होता है।
WordPress Action Hooks
Actions Hook, WordPress के Event Driven Hooks हैं। यानी जब WordPress Initialization के दौरान क्रम से विभिन्न Core Codes Execute होते हैं, तो उन विभिन्न Core Codes के Completion Points को एक Action Hook की तरह Define कर दिया गया है।
उदाहरण के लिए जब हम किसी Post को Save करते हैं, तो Post को Save करने के लिए WordPress का कोई न कोई Core Code Execute होता है। जैसे ही ये Core Code Execute हो जाता है, हमारा कोई Specific Post Database में Save हो जाता है और जैसे ही हमारा Post Database में Save होता है, एक Action Event Trigger होता है।
यानी WordPress में जब भी कोई Event Trigger होता है अथवा दूसरे शब्दों में कहें तो कोई Specific Action Perform होता है, उस Action को Action Hook द्वारा Identify किया जाता है। जैसे:
- Post का Save होना,
- Admin Page का Load होना,
- HTML Codes यानी Response का Web Browser को Send होना, आदि।
WordPress Plugins में इन Actions के Perform होने यानी Events के Trigger होने पर किसी Custom Code या Function को इन Events से सम्बंधित किसी Specific Core Code Location पर Hook या Attach करने की Capability होती है।
यानी WordPress में जब भी कोई Action Hook Trigger होता है, WordPress Core Code में किसी Specific Location पर हम हमारे किसी Custom Function Code को Execute होने के लिए Attach कर सकते हैं।
परिणामस्वरूप Action Hook के Trigger होते ही हमारा Custom Function Code, Execute हो जाता है और Custom Function Code के Execute होने के बाद फिर WordPress Initialization Process का अगला Core Code Execute होने लगता है।
Plugins न केवल WordPress के Events के साथ किसी Custom Function Code को Hook या Attach कर सकते हैं बल्कि स्वयं का Event भी Create कर सकते हैं।
उदाहरण के लिए जब हम किसी Post को Save करते हैं, तब Save Action के Perform होने पर Save Event Trigger होता है और इस Event के साथ हम किसी ऐसे Plugin को Hook कर सकते हैं, जो कि Post को Save करते ही Execute हो जाता है।
साथ ही इस Plugin में हम ऐसा Code लिख सकते हैं, जो स्वयं Execute होते ही किसी Web Server को Ping करके उसे इस बात की Information दे सकता है कि एक नया Post Create करके Save किया गया है।
Actions Performed During Simple Page Request
इस Category में WordPress के विभिन्न Actions Hook तब Run होते हैं, जब User Logged-In होकर Site/Blog का Home Page Open करता है। User Logged-In होकर जब भी कोई Request Perform करता है, WordPress Initialization Process Follow होता है और इस Initialization Process के दौरान WordPress विभिन्न Execution Points Represent करता है, जहां हम हमारे किसी Custom Code को Execute होने के लिए Attach कर सकते हैं।
इन Execution Points को WordPress द्वारा एक निश्चित नाम दे दिया गया है, ताकि Custom Code Attach करते समय हम WordPress को इस बात की जानकारी दे सकें कि हम WordPress Initialization Process के दौरान Flow होने वाले Core Codes में किस Execution Point पर अपने Custom Code को Execute होने के लिए Attach करना चाहते हैं। इन Execution Points को ही WordPress में Hook नाम दिया गया है और जब कोई Logged-In User कोई Request Perform करता है, तब निम्न क्रम में विभिन्न Hooks यानी Execution Points Define होते हैं, जो कि Self Defined हैं:
muplugins_loaded
registered_taxonomy
registered_post_type
plugins_loaded
sanitize_comment_cookies
setup_theme
load_textdomain
after_setup_theme
auth_cookie_malformed
auth_cookie_valid
set_current_user
init
└─ widgets_init
register_sidebar
wp_register_sidebar_widget
wp_default_scripts
wp_default_styles
admin_bar_init
add_admin_bar_menus
wp_loaded
parse_request
send_headers
parse_query
pre_get_posts
posts_selection
wp
template_redirect
get_header
wp_enqueue_scripts
wp_head
wp_print_styles
wp_print_scripts
get_search_form
loop_start
the_post
get_template_part_content
loop_end
get_sidebar
dynamic_sidebar
get_search_form
pre_get_posts
pre_get_comments
wp_meta
get_footer
get_sidebar
twentyeleven_credits
wp_footer
wp_print_footer_scripts
admin_bar_menu
wp_before_admin_bar_render
wp_after_admin_bar_render
shutdown
इन Hooks को हम इस तरह से समझ सकते हैं कि जब एक Logged-In User किसी Webpage के लिए Request करता है, तो उस Request को Fulfill करने के लिए WordPress Initialization Process शुरू होता है और इस Process के दौरान जब WordPress Engine सभी Must Used Plugins को Load कर देता है, तब उस Execution Point का नाम “muplugins_loaded” रख देता है, जिसे हम muplugins_loaded Hook के नाम से Refer करते हैं और हमें जिस Custom Codes को सभी Must Used Plugins के पूरी तरह से Load हो जाने के बाद Execute करना होता है, उन्हें इस “muplugins_loaded” Hook के साथ Associate कर देते हैं।
इसी प्रकार से जब Current Request को Fulfill करने के लिए PHP Engine सभी Executable Codes की Parsing करके अपना काम समाप्त कर देता है, तब “shutdown” Action Perform होता है, जिसे हम “shutdown” Hook के नाम से Refer करते हैं और हमें जिन Custom Codes को सभी PHP Parsing पूरी तरह से समाप्त Load हो जाने के बाद Execute करना होता है, उन्हें इस “shutdown” Hook के साथ Associate कर देते हैं।
उपरोक्त सभी Hooks उसी क्रम में Specify किए गए हैं, जिस क्रम में ये WordPress Initialization Process के दौरान Setup होते हैं। इसलिए कोई Specific Hook किस Action के Perform होने को Represent कर रहा है, इस बात का अन्दाजा हम उस Hook के अगले व पिछले Hooks से भी लगा सकते हैं व Logged-In User के लिए Request Perform होते समय किस Specific Hook के साथ कौनसा Code Attach करना है, इस बात को निश्चित कर सकते हैं।
Actions Performed During Admin Page Request
आगे Specify किए जाने वाले विभिन्न Actions तब Fire होते हैं, जब Logged-In User निम्न चित्रानुसार WordPress Dashboard के विभिन्न Panels के साथ किसी तरह की प्रक्रिया करता है:

Posts को Handle करने या WordPress Dashboard को Use करने की Capability वाले User (Like Admin, Manager, Contributor, etc…) के लिए Setup होने वाले विभिन्न Hooks निम्नानुसार होते हैं:
muplugins_loaded
registered_taxonomy
registered_post_type
plugins_loaded
sanitize_comment_cookies
setup_theme
load_textdomain
after_setup_theme
load_textdomain
auth_cookie_valid
set_current_user
init
└─ widgets_init
register_sidebar
wp_register_sidebar_widget
wp_default_scripts
wp_default_styles
admin_bar_init
add_admin_bar_menus
wp_loaded
auth_cookie_valid
auth_redirect
_admin_menu
admin_menu
admin_init
current_screen
load-(page)
parse_request
send_headers
parse_query
pre_get_posts
posts_selection
wp
admin_xml_ns
admin_xml_ns
admin_enqueue_scripts
admin_print_styles-(hookname)
admin_print_styles
admin_print_scripts-(hookname)
admin_print_scripts
wp_print_scripts
admin_head-(hookname)
admin_head
adminmenu
in_admin_header
admin_notices
all_admin_notices
(hookname)
restrict_manage_posts
the_post
pre_user_query
post_user_query
in_admin_footer
admin_footer
admin_bar_menu
wp_before_admin_bar_render
wp_after_admin_bar_render
admin_print_footer_scripts
admin_footer-(hookname)
shutdown
wp_dashboard_setup
इन सभी Hooks को भी हम इस तरह से समझ सकते हैं कि जब कोई Admin Level का User] जो कि WordPress Dashboard के साथ प्रक्रिया करने में सक्षम होता है, कोई Admin Level की Request जैसे कि Post Create करने या Page Edit करने जैसे काम Perform करता है, तब भी WordPress Initialization Process Execute होता है, जो कि एक Admin Level के User के लिए उपरोक्तानुसार विभिन्न Hooks Setup करता है, जिन्हें एक Admin Area को Handle करने में सक्षम User को Easy या Extra Admin Control देने के लिए के लिए Custom Codes Attach करने हेतु Use किया जा सकता है।
Post, Page, Attachment, and Category Actions (Admin)
जब Admin Level का User, Web Browser में Post, Page, Attachment या Category Related कोई Request Perform करता है, तब भी WordPress Initialization Process के दौरान कुछ Specific Action Hooks Register होते हैं, जिन्हें हम Admin Level के User के लिए Extra Features Provide करने के लिए हमारा Custom Code Attach करने हेतु Use कर सकते हैं। Admin Level के User के लिए इन Requests हेतु Setup होने वाले विभिन्न Hooks निम्नानुसार हैं:
add_attachment
add_category
category_add_form_fields
category_edit_form
clean_post_cache
create_category
delete_attachment
delete_category
wp_trash_post
trashed_post
before_delete_post
delete_post
deleted_post
edit_attachment
edit_category
edit_post
pre_post_update
private_to_publish
publish_page
publish_phone
publish_post
publish_future_post
save_post
wp_insert_post
xmlrpc_publish_post
Comment, Ping and Trackback Actions
जब User, Web Browser में Comment, Ping या Pingback Related कोई Actions Perform करता है, तब जो Specific Action Hooks Register होते हैं, इन्हें इस Category में रखा जा सकता है, जो कि निम्नानुसार हैं:
comment_closed
comment_id_not_found
comment_flood_trigger
comment_(old status)_to_(new status)
comment_on_draft
comment_post
edit_comment
delete_comment
deleted_comment
trash_comment
trashed_comment
comment_closed
pingback_post
pre_ping
trackback_post
wp_blacklist_check
wp_insert_comment
wp_set_comment_status
Blogroll Actions
जब User, Web Browser में Blogroll Related कोई Actions Perform करता है, तब जो Specific Action Hooks Register होते हैं, इन्हें इस Category में रखा जा सकता है, जो कि निम्नानुसार हैं:
add_link
delete_link
edit_link
Feed Actions
जब User, Web Browser में किसी Feed Related Actions Perform करता है, तब जो Specific Action Hooks Register होते हैं, इन्हें इस Category में रखा जा सकता है, जो कि निम्नानुसार हैं:
atom_entry
atom_head
atom_ns
commentrss2_item
do_feed_(feed)
rdf_header
rdf_item
rdf_ns
rss_head
rss_item
rss2_head
rss2_item
rss2_ns
Template Actions
इस Category में उन Actions को रखा गया है, जो कि किसी Currently Activated Theme के किसी Template के Load होते समय Register होते हैं।
after_setup_theme
comment_form
do_robots
do_robotstxt
get_footer
get_header
switch_theme
after_switch_theme
load-themes.php
template_redirect
wp_footer
wp_head
wp_meta
wp_print_scripts
Administrative Actions
इस Category में उन Actions को रखा गया है, जिन्हें Admin स्वयं Administrative Tasks के लिए Use करता है।
activate_(plugin file name)
activity_box_end
add_category_form_pre
admin_head
admin_head-(page_hook) or admin_head-(plugin_page)
admin_init
admin_footer-(plugin_page)
admin_footer
admin_enqueue_scripts
admin_print_scripts
admin_print_scripts-(page_hook) or admin_print_scripts-(plugin_page)
admin_print_styles
admin_print_styles-(page_hook) or admin_print_style-(plugin_page)
check_passwords
dbx_page_advanced
dbx_page_sidebar
dbx_post_advanced
dbx_post_sidebar
deactivate_(plugin file name)
delete_user
edit_category_form
edit_category_form_pre
edit_tag_form
edit_tag_form_pre
edit_form_after_title
edit_form_after_editor
edit_form_advanced
edit_page_form
edit_user_profile
load-(page)
login_form
login_head
lost_password
lostpassword_form
lostpassword_post
manage_link_custom_column
manage_posts_custom_column
manage_pages_custom_column
manage_{$post_type}_posts_custom_column
password_reset
personal_options_update
plugins_loaded
profile_personal_options
profile_update
quick_edit_custom_box
register_form
register_post
restrict_manage_posts
retrieve_password
set_current_user
show_user_profile
sidebar_admin_page
sidebar_admin_setup
simple_edit_form
update_option_(option_name)
upload_files_(tab)
user_profile_update_errors
user_register
welcome_panel
wp_ajax_(action)
wp_authenticate
wp_login
wp_logout
Dashboard “Right Now” Widget Actions
इस Category में उन Actions को रखा गया है, जो किसी Task को तुरन्त करने की भावना को प्रदिर्शित करते हैं:
right_now_content_table_end
right_now_table_end
right_now_discussion_table_end
right_now_end
activity_box_end
Advanced Actions
इस Category में उन Actions को रखा गया है, जो User द्वारा किसी Request के Perform होने पर Fire होने वाली विभिन्न Queries के माध्यम से इस बात का पता लगाता है कि किस Post को Display करना है अथवा WordPress Loop या Plugin Activation अथवा WordPress के Fundamental Level Codes से सम्बंधित Actions इस Category में होते हैं।
add_meta_boxes
admin_menu
network_admin_notices
user_admin_notices
admin_notices
all_admin_notices
blog_privacy_selector
check_admin_referer
check_ajax_referer
customize_register
generate_rewrite_rules
init
loop_end
loop_start
network_admin_menu
parse_query
parse_request
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Advance WordPress in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी है, तो निश्चित रूप से ये EBook भी आपके लिए काफी उपयोगी साबित होगी।
Advance WordPress in Hindi | Page: 835 | Format: PDF