Как использовать do_action() с параметром

14 нояб. 2012 г., 22:10:13
Просмотры: 24.9K
Голосов: 7

Я пытаюсь вызвать действие в functions.php с помощью функции do_action(), но мне, похоже, нужен атрибут.

Следующий код

do_action( 'really_simple_share button="facebook_like"');

не работает...

Можете подсказать правильный способ, как это сделать (я пробовал много других вариантов, но они тоже не работают).

1
Комментарии

ты имеешь в виду do_shortcode('[really_simple_share button="facebook_like"]'); ?

Oleg Butuzov Oleg Butuzov
14 нояб. 2012 г. 22:33:18
Все ответы на вопрос 2
3
21

Правильный способ — передать первый аргумент в виде уникальной строки, которая служит идентификатором действия, а затем любые дополнительные аргументы

do_action('unique_action_tag', $parameter1, $parameter2,,,, & так далее);

Чтобы привязать функции к этому действию, нужно сделать следующее:

// 10 — это приоритет, чем выше, тем раньше выполнится
// 2 — количество аргументов, которые функция может принять
add_action('unique_action_tag', 'my_custom_function', 10, 2)
function my_custom_function($param1, $param2) {
    // выполнить что-то
}
14 нояб. 2012 г. 22:39:11
Комментарии

можно ли это сделать с МОИМ действием?

menardmam menardmam
14 нояб. 2012 г. 23:25:41

Ты имеешь в виду $button = 'facebook_like'; do_action('really_simple_share', $button);. Затем в "functions.php" add_action('really_simple_share', 'my_function'); function my_function($button) { // сделать что-то }

Mridul Aggarwal Mridul Aggarwal
14 нояб. 2012 г. 23:33:57

Спасибо - это помогло. Я нашел документацию здесь: https://developer.wordpress.org/reference/functions/do_action/

Dave Dave
2 окт. 2017 г. 07:14:22
0

Ознакомьтесь с этим тикетом, там приведен примерный подход для обхода этой проблемы.

14 нояб. 2012 г. 23:21:15