У меня проблемы с областью действия и функциями. Если заменить мою переменную строкой, она функционирует, поэтому моя проблема, по-видимому, сводит переменную в функцию.
$this_project_ID = $get_project_id[0]->ID;
echo $this_project_ID; //This prints out correctly an integer
add_filter('woocommerce_checkout_get_value', function($input, $key ) {
global $this_project_ID;
switch ($key) :
case 'billing_project_id':
return $this_project_ID; //This doesn't resolve unless I use a string
break;
endswitch;
}, 10, 2);
Чего я не понимаю о введении переменной в функцию или это потому, что эта конкретная функция требуется что-то еще? Заранее спасибо.
Итак, вот решение, благодаря вам всем и особенно @ dmitry.
this_project_ID = $get_project_id[0]->ID;
add_filter('woocommerce_checkout_get_value', function($input, $key ) use ( $this_project_ID ) {
switch ($key) :
case 'billing_project_id':
return $this_project_ID;
break;
endswitch;
}, 10, 2);
Я использовал решение Дмитрия, и я только что избавился от:
global $this_project_ID;
Впервые я увидел использование , поэтому мне нужно еще многое узнать , Спасибо