无法访问functions.php中设置的全局变量

无法访问functions.php中设置的全局变量,php,wordpress,Php,Wordpress,我在mytheme child/functions.php中声明并分配了全局变量: global $mycustvar; $mycustvar = "abc" 现在,当我print_r()在**mytheme child/woocommerce/single product/product image.php**中使用相同的变量时,无法以abc的形式获得输出。应该是对的吧?因为它是一个全局变量 如果我在什么地方误解了,请纠正我。试试看: // function.php function m

我在mytheme child/functions.php中声明并分配了全局变量:

 global $mycustvar;
 $mycustvar = "abc"
现在,当我
print_r()
**mytheme child/woocommerce/single product/product image.php**
中使用相同的变量时,无法以abc的形式获得输出。应该是对的吧?因为它是一个全局变量

如果我在什么地方误解了,请纠正我。

试试看:

// function.php
function my_custom_data() {
    global $mycustvar;
    $mycustvar = 'abc';
}
add_action( 'after_theme_setup', 'my_custom_data' );
然后在任何地方打电话

global $mycustvar;
echo $mycustvar;

例如,在functions.php中:

function test() {
    global $hello;
    $hello = 'hello world';
}

add_action('after_theme_setup', 'test');
在single.php中,这将不起作用:

echo $hello;
因为$hello是未定义的。然而,这将起作用:

global $hello;
echo $hello;

void先生是对的,更具体地说,您必须在product-image.php中再次定义全局$mycustvar——这就是它的工作方式。在函数文件中,您在哪里分配全局变量?