Используйте переменную в качестве имени функции в PHP - PullRequest
0 голосов
/ 28 мая 2019

Я создаю динамическую функцию в WordPress, которая требует, чтобы я создавал имена своих функций динамически.

В этом случае мне нужно сгенерировать уникальное имя функции для этого кода gravityforms:

add_filter( 'gform_validation_message', 'change_message', 10, 2 );
function change_message( $message, $form ) {
    return "<div class='validation_error'>Failed Validation - " . $form['title'] . '</div>';
}

Итак, у меня есть переменная (которая будет меняться время от времени), которую я хочу использовать для имени своей функции ...

$newitem = 'new_item';

... и попробовал это ...

add_filter( 'gform_validation_message', $newitem, 10, 2 );
function $newitem( $message, $form ) {
    return "<div class='validation_error'>Failed Validation - " . $form['title'] . '</div>';
}

... но очевидно, что это не работает.Но я думаю, вы понимаете, чего я пытаюсь достичь.

Возможно ли что-нибудь подобное?

Любая помощь приветствуется.

Ответы [ 2 ]

0 голосов
/ 28 мая 2019

Вы можете просто передать Анонимную функцию функции add_filter в качестве параметра:

$newitem = function($message, $form) {
    return "<div class='validation_error'>Failed Validation - " . $form['title'] . '</div>';
};

add_filter('gform_validation_message', $newitem, 10, 2);

0 голосов
/ 28 мая 2019
$thing = 'some_function';
$$thing = function() {
   echo 'hi';
};
$some_function();

Источник - Использование переменной для определения функции PHP

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...