Function Reference/do action

از وردپرس ویکی
پرش به: ناوبری، جستجو

محتویات

شرح

توابعی را که به یک اکشن خاص قلاب شده باشند را اجرا می‌کند.

این تابع باعث فراخوانی تمامی توابعی که به قلاب‌ اکشن $tag متصل شده باشند می شود. با فراخوانی این تابع می توان قلاب اکشن های جدیدی ایجاد کرد، برای این کار، این تابع را با نام قلاب اکشن جدید که در پارامتر $tag مشخص شده است فرابخوانید. همانطور که با apply_filters() می توانید پارامترهای اضافی ارسال کنید، با do_action نیز می توانید پارامترهای اضافی ارسال کنید. این تابع مانند apply_filters() عمل می کند با این تفاوت که هیچ مقداری را بازنمی گرداند و تنها توابع را فراخوانی می کند. برای افزودن قلاب های جدید به اکشن ها می توانید از تابع add_action() بهره ببرید.

کاربرد

<?php do_action( $tag, $arg ); ?>

چندین پارامتر:

<?php do_action( $tag, $arg_a, $arg_b, $etc ); ?>

پارامترها

$tag
(string) (ضروری) نام قلابی که میخواهید اجرا شود.
مقدار پیش فرض: هیچ
$arg
(mixed) (دلخواه) لیست پارامترهایی که به این قلاب ارسال میکنید
مقدار پیش فرض: رشته خالی

مقادیر بازگشتی

این تابع مقداری را باز نمی گرداند.

نمونه

 
<?php 
# ======= Somewhere in a (mu-)plugin, theme or the core ======= #

/**
 * You can have as many arguments as you want,
 * but your callback function and the add_action call need to agree in number of arguments.
 * Note: `add_action` above has 2 and 'i_am_hook' accepts 2. 
 * You will find action hooks like these in a lot of themes & plugins and in many place @core
 * @see: http://codex.wordpress.org/Plugin_API/Action_Reference
 */
 
# ======= e.g., inside your functions.php file ======= #

/**
 * Define callback function
 * Inside this function you can do whatever you can imagine
 * with the variables that are loaded in the do_action() call above.
 */
function who_is_hook( $a, $b )
{
	echo '<code>';
		print_r( $a ); // `print_r` the array data inside the 1st argument
	echo '</code>';
 
	echo '<br />'.$b; // echo linebreak and value of 2nd argument
}
 
// then add it to the action hook, matching the defined number (2) of arguments in do_action
// see [http://codex.wordpress.org/Function_Reference/add_action] in the Codex 
 
// add_action( $tag, $function_to_add, $priority, $accepted_args );
add_action( 'i_am_hook', 'who_is_hook', 10, 2 );
 
// Define the arguments for the action hook
$a = array(
	 'eye patch' => 'yes'
	,'parrot' => true
	,'wooden leg' => (int) 1
);
$b = 'And Hook said: "I ate ice cream with Peter Pan."'; 
 
// Executes the action hook named 'i_am_hook'
do_action( 'i_am_hook', $a, $b );
 
 
# ======= output that you see in the browser ======= #

Array ( 
	['eye patch'] => 'yes'
	['parrot'] => true
	['wooden leg'] => 1
) 
And hook said: "And Hook said: "I ate ice cream with Peter Pan."

یادداشت

  • کاربرد : global $wp_filter - تمام فیلترها و اکشن ها را ذخیره دارد.
  • کاربرد : global $wp_actions - تعداد دفعاتی که اکشن ها اجرا می شوند را افزایش می دهد.

دفترچه تغییرات

از نسخه : 1.2.0

Source File

do_action() در این فایل قرار دارد wp-includes/plugin.php.

مرتبط

اکشن‌ها: has_action(), add_action(), do_action(), do_action_ref_array(), did_action(), remove_action(), remove_all_actions()

همچنین مرجع توابع در Function Reference و مرجع Template Tags را نیز ببینید.