通过操作传递参数以执行函数

时间:2017-03-08 作者:Lewis Donovan

我试图将变量的值传递到do\\u操作中,然后在生成的函数中使用它,但它不起作用。该操作是在woocommerce签出中触发的,因此它还传递了$checkout变量,该变量工作正常。简化示例如下:

add_action( \'my_action\', \'my_function\' );
function my_function( $checkout, $myvar ) {
  var_dump ($checkout); //Works fine
  var_dump ($myvar); //Returns NULL
}
然后调用模板中的操作,如下所示:

$myvar = 1;
do_action( \'my_action\', $checkout, $myvar );
我无法在函数中访问$myvar,任何帮助都将不胜感激。

1 个回复
最合适的回答,由SO网友:Paul \'Sparrow Hawk\' Biron 整理而成

add_action()add_filter() 取4个参数:string $tag, callable $function_to_add, int $priority = 10, int $accepted_args = 1.

因此,您要挂接的函数接受多个参数,然后将它接受的参数数作为第四个参数传递给add_action(). 就你而言,

add_action (\'my_action\', \'my_function\', 10, 2) ;

相关推荐

functions php file

好的,我正在编辑我的函数。Wordpress中的php文件(关于我的子主题),我删除了一行代码(在删除之前我复制了代码)。这导致了白色的死亡屏幕,所以我简单地粘贴回我删除的代码(是的,我将它粘贴回我删除它的位置),但我仍然有白色的死亡屏幕。我已经完成了这些功能。我上周完成的一个备份中的php文件(功能齐全),并通过FTP将其上载到正确的文件夹,但没有任何效果。我已经尝试再次激活父主题,并创建了另一个子主题,以便比较这两个功能。php文件(将全新的、有效的子主题与不再工作的原始子主题进行比较),代码看起来是