Php 将_action()添加到init中的函数参数

Php 将_action()添加到init中的函数参数,php,wordpress,Php,Wordpress,我希望将函数中的参数传递给add_action(),但显然我需要通过do_action来完成这项工作。我的问题是add_action标签是“init”,如果我再次/过早地运行它,我认为会导致问题。有什么想法吗 function taxonomy_equipment( ) { $name = "Equipment"; $labels = array( 'name' => _x( $name, 'taxonomy general nam

我希望将函数中的参数传递给
add_action()
,但显然我需要通过do_action来完成这项工作。我的问题是add_action标签是“
init
”,如果我再次/过早地运行它,我认为会导致问题。有什么想法吗

function taxonomy_equipment( ) {
    $name = "Equipment";
    $labels = array(
        'name'              => _x( $name, 'taxonomy general name' ),
        'singular_name'     => _x( $name, 'taxonomy singular name' ),
    );
    $args = array(
        'labels' => $labels,
        'hierarchical' => true,
    );
    register_taxonomy( str_replace(' ', '', strtolower($name)), 'exercise', $args );
}
add_action( 'init', 'taxonomy_equipment', 0 );
我想作为参数通过
$name

测试:

global $my_var;
$my_var = $value;
add_action('any_hook', 'myfunction');

function myfunction() {
    global $my_var;
}
已更新

其他方式:

function taxonomy_equipment( ) {
    $my_arg_globals = $GLOBALS['my_arg_globals'];
    $name = $my_arg_globals['name'];
    $labels = array(
        'name'              => _x( $name, 'taxonomy general name' ),
        'singular_name'     => _x( $name, 'taxonomy singular name' ),
    );
    $args = array(
        'labels' => $labels,
        'hierarchical' => true,
    );
    register_taxonomy( str_replace(' ', '', strtolower($name)), 'exercise', $args );
}
$my_arg_globals = array('name' => 'Equipment');
add_action( 'init', 'taxonomy_equipment', 0 );
在这种情况下,这项工作非常简单:

function get_var_test()
{
    $my_arg_globals = $GLOBALS['my_arg_globals'];
    return $my_arg_globals['name'];
}
$my_arg_globals = array('name' => 'name1');
echo Sum();

$my_arg_globals = array('name' => 'name2');
echo Sum();

$my_arg_globals = array('name' => 'name3');
echo Sum();

尝试按全局变量传递值,不建议更改
add\u action
。传递全局变量的问题是,如果我想多次运行函数(例如,进行多个分类),我必须反复复制函数代码。是的,这是个问题:-(