ওয়ার্ডপ্রেসের 'হুক / ক্রিয়া চালানোর ক্রম কীভাবে পাবেন?


48

কোন আদেশে add_actionহুকগুলি কার্যকর করা হয়?

অর্থাত

init
wp_head
wp_footer
after_theme_setup 
etc...
???
???
???




সম্পাদনা করুন:

আমি আমার সমাধান পোস্ট করেছি।


আমার ওয়ার্ডপ্রেস.স্ট্যাকেক্সেক্সঞ্জ / প্রশ্ন / ১35৫৫857/২ এর সম্ভাব্য সদৃশটি 25 ফেব্রুয়ারী '14 এ পোস্ট করা হয়েছিল
বাবু

আমি এসই বিধিগুলিতে যা দেখেছি, একমাত্র বিষয়ের বয়সের অনুলিপি সিদ্ধান্তের জন্য আর গণনা করা হয় না: #
টুডো

উত্তর:


82

"ডেটা! ডেটা! ডেটা!" তিনি অধৈর্য হয়ে কাঁদলেন। "আমি মাটি ছাড়া ইট তৈরি করতে পারি না।"

-কপার বিচেসের অ্যাডভেঞ্চার

সুতরাং আসুন কোনও প্লাগইনবিহীন একটি ইনস্টল থেকে কিছু আসল তথ্য সংগ্রহ করি এবং কেবলমাত্র একটি পাঠ্য উইজেটের সাহায্যে টুয়েন্টিফ্লাভ থিম সক্রিয় করা আছে।

হোম পৃষ্ঠার জন্য নিম্নলিখিত do_actionকলগুলি নিম্নলিখিত ক্রমে করা হচ্ছে:

muplugins_loaded
registered_taxonomy
registered_taxonomy
registered_taxonomy
registered_taxonomy
registered_taxonomy
registered_post_type
registered_post_type
registered_post_type
registered_post_type
registered_post_type
plugins_loaded
sanitize_comment_cookies
setup_theme
unload_textdomain
load_textdomain
after_setup_theme
load_textdomain
load_textdomain
auth_cookie_malformed
auth_cookie_valid
set_current_user
init
registered_post_type
registered_post_type
registered_post_type
registered_post_type
registered_post_type
registered_taxonomy
registered_taxonomy
registered_taxonomy
registered_taxonomy
registered_taxonomy
widgets_init
register_sidebar
register_sidebar
register_sidebar
wp_register_sidebar_widget
wp_register_sidebar_widget
wp_register_sidebar_widget
wp_register_sidebar_widget
wp_register_sidebar_widget
wp_register_sidebar_widget
wp_register_sidebar_widget
wp_register_sidebar_widget
wp_register_sidebar_widget
wp_register_sidebar_widget
wp_register_sidebar_widget
wp_register_sidebar_widget
wp_loaded
parse_tax_query
parse_tax_query
posts_selection
template_redirect
admin_bar_init
add_admin_bar_menus
get_header
wp_head
wp_enqueue_scripts
wp_print_styles
wp_print_scripts
get_template_part_content
begin_fetch_post_thumbnail_html
end_fetch_post_thumbnail_html
get_template_part_content
get_template_part_content
get_template_part_content
get_template_part_content
get_template_part_content
get_template_part_content
get_template_part_content
get_template_part_content
get_template_part_content
begin_fetch_post_thumbnail_html
end_fetch_post_thumbnail_html
get_sidebar
dynamic_sidebar_before
dynamic_sidebar
dynamic_sidebar_after
get_footer
twentytwelve_credits
wp_footer
wp_print_footer_scripts
wp_before_admin_bar_render
wp_after_admin_bar_render
shutdown

আপনি যদি ক্রমের ক্রমটি পরীক্ষা করতে চান এবং প্রত্যেকে কতবার বরখাস্ত করা হয় তবে আপনি উদাহরণস্বরূপ ব্যবহার করতে পারেন:

add_action( 'shutdown', function(){
    print_r( $GLOBALS['wp_actions'] ); 
});

বা এই পূর্বনির্ধারিত সংস্করণ:

add_action( 'shutdown', function(){
    foreach( $GLOBALS['wp_actions'] as $action => $count )
        printf( '%s (%d) <br/>' . PHP_EOL, $action, $count );

});

নিম্নলিখিত তালিকা পেতে:

muplugins_loaded (1) 
registered_taxonomy (10) 
registered_post_type (10) 
plugins_loaded (1) 
sanitize_comment_cookies (1) 
setup_theme (1) 
unload_textdomain (1) 
load_textdomain (3) 
after_setup_theme (1) 
auth_cookie_malformed (1) 
auth_cookie_valid (1) 
set_current_user (1) 
init (1) 
widgets_init (1) 
register_sidebar (3) 
wp_register_sidebar_widget (12) 
wp_loaded (1) 
parse_request (1) 
send_headers (1) 
parse_tax_query (2) 
parse_query (1) 
pre_get_posts (1) 
posts_selection (1) 
wp (1) 
template_redirect (1) 
wp_default_scripts (1) 
wp_default_styles (1) 
admin_bar_init (1) 
add_admin_bar_menus (1) 
get_header (1) 
wp_head (1) 
wp_enqueue_scripts (1) 
wp_print_styles (1) 
wp_print_scripts (1) 
loop_start (1) 
the_post (10) 
get_template_part_content (10) 
begin_fetch_post_thumbnail_html (2) 
end_fetch_post_thumbnail_html (2) 
loop_end (1) 
get_sidebar (1) 
dynamic_sidebar_before (1) 
dynamic_sidebar (1) 
dynamic_sidebar_after (1) 
get_footer (1) 
twentytwelve_credits (1) 
wp_footer (1) 
wp_print_footer_scripts (1) 
admin_bar_menu (1) 
wp_before_admin_bar_render (1) 
wp_after_admin_bar_render (1) 
shutdown (1) 

PS: আপনার জন ব্ল্যাকবার্নের দুর্দান্ত ক্যোয়ারী মনিটরের প্লাগইনও পরীক্ষা করা উচিত । (আমি এই প্লাগইনের সাথে সম্পর্কিত নই)


সত্যিই খুব সুন্দর!
jdm2112

প্রশ্ন মনিটরের উল্লেখ করার জন্য আপনাকে ধন্যবাদ। এই ক্ষেত্রে একটি দরকারী প্লাগইন বলে মনে হচ্ছে।
ডিএএইচ

আপডেটের জন্য @ ক্র্যাফটনারকে ধন্যবাদ, আমি যথাযথ উত্স হিসাবে গল্পটিকে সরাসরি যুক্ত করার পরিকল্পনা করেছি (তবে এটি সম্পর্কে ভুলে গেছি) স্পষ্টতই আমার শার্লক হোমসের অনুসন্ধানের
ফুও

1
আমি উক্তিটি পছন্দ করেছি এবং আরও প্রসঙ্গে দেখতে চাই। এবং আমার কাছে ইতিমধ্যে আমার জন্য লিঙ্কটি ছিল কেন কেবল এখানে আপডেট করা হবে না। :)
ক্র্যাফটার 14

1
4 টি এরও বেশি পোস্ট এবং এখনও সহায়ক। অনেক ধন্যবাদ!
সেবাস্তিয়ান ক্যাকজমারেক

20

এখানে ওয়ার্ডপ্রেস লোড চার্ট

ওয়ার্ডপ্রেস লোড চার্ট

সোর্স @ রর্স্ট দ্বারা


9
কমপক্ষে উত্স যোগ করুন , বা আরও ভাল: এই প্রশ্নের জন্য একটি সদৃশ খুঁজুন।
ফুসিয়া

2
আসলে আমি কোথা থেকে পেয়েছি তা আমি জানতাম না। আমি আমার পিসিতে এই চিত্রটি সংরক্ষণ করেছিলাম। না হলে আমি তা করতাম।
রবার্ট হু

এটি টম ম্যাক ফারলিনের হোমপৃষ্ঠাতেও প্রকাশিত হয়েছে: ওয়ার্ডপ্রেস পৃষ্ঠা জীবনচক্র -> tommcfarlin.com/wordpress-page-lifecycle
ডিএএইচ

3

সলিউশন পাওয়া গেল!

সুন্দর উত্তরের জন্য ধন্যবাদ @ বিবিরগায়ার আমি এতে যুক্ত করব, muplugins_loadedকখনও কখনও বরখাস্ত হয় না, তাই আমি plugins_loadedপ্রথম হুক হিসাবে ব্যবহার করব (তবে সেই সময়ে, ব্যবহারকারী-অনুমোদন এখনও করা হয়নি you আপনি যদি ব্যবহারকারীর অনুমোদন পরীক্ষা করতে চান তবে তার initজন্য এটি প্রথম দিকের)। ..

PS এখানে দুর্দান্ত প্লাগইন রয়েছে:

1) ক্যোয়ারী মনিটর - আপনি পৃষ্ঠা-লোডে যা ঘটে থাকে তার সবকিছু দেখতে পান, অর্থাত্ প্রতিটি সম্পাদিত ফাংশনের সময়কাল এবং আরও অনেক কিছু (প্লাগইন পৃষ্ঠায় সমস্ত স্ক্রিনশটগুলি দেখুন):

এখানে চিত্র বর্ণনা লিখুন

2) WP-DEBUG-BAR + WP-DEBUG-SLOW-ACTIONS :
ক) আপনার সাইটে ডিবাগ হুক ( ক্রিয়া ) রান তালিকা।
খ) প্রতিটি ক্রিয়াকলাপের সময়কাল দেখুন (কার্যকর নয়): এখানে চিত্র বর্ণনা লিখুন


1

দুটি অনুরোধ হুবহু এক নয়। কী চলছে তা সন্ধান করার একটি দ্রুত এবং নোংরা (তবে খুব নির্ভুল) উপায় হ'ল অস্থায়ীভাবেdo_action ফাংশনের শুরুতে একটি লাইন যুক্ত করা wp-includes/plugin.phpযাতে লগ হয় $tag, যেমন:

if (isset($some_get_or_post_trigger_var)) file_put_contents(ABSPATH . 'action.log', "$tag\n", FILE_APPEND);

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.