@denism300

Как передать параметр в add_action?

Как внутри класса передать функции, прикрепленной к add_action?
Код в упрощенном виде примерно так выглядит:
class someClass {
    public function f_1() {
        $b = false;
        if($a) {
            $b = true;
        }
        self::f_2($b);
    }

    public function f_2($b) {
        add_action('wp_footer', [__CLASS__, 'f_3'], 10, 1); // в функцию f_3 надо передать параметр $b
    }

    public function f_3($param) {
        if($param) {
            // do something
        }
    }
}
  • Вопрос задан
  • 67 просмотров
Решения вопроса 1
@denism300 Автор вопроса
в общем, сделал так:
class someClass {
    public function f_1() {
        $b = false;
        if($a) {
            $b = true;
        }
        set_transient('some_param', $b, 0);
        self::f_2();
    }

    public function f_2() {
        add_action('wp_footer', [__CLASS__, 'f_3'], 10, 1);
    }

    public function f_3() {
        $param = get_transient('some_param');
        if($param) {
            // do something
        }
    }
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы