我正在使用wordpress和woocommerce(电子商务插件)来自定义购物车。在我的functions.php中,我将数据存储在这样的变量中:
add_action( 'woocommerce_before_calculate_totals', 'add_custom_price' );
function add_custom_price( $cart_object ) {
foreach ( $cart_object->cart_contents as $key => $value ) {
$newVar = $value['data']->price;
}
}
我需要能够在其他函数中使用
$newVar
,以便可以在页面的其他区域显示结果。例如,如果我具有以下功能,我将如何在其中使用$newVar
?add_action( 'another_area', 'function_name' );
function function_name() {
echo $newVar;
}
我怎样才能做到这一点?
最佳答案
您可以将变量设置为全局变量:
function add_custom_price( $cart_object ) {
global $newVar;
foreach ( $cart_object->cart_contents as $key => $value ) {
$newVar = $value['data']->price;
}
}
function function_name() {
global $newVar;
echo $newVar;
}
或者,如果
$newVar
在全局范围内已经可用,则可以执行以下操作:function function_name($newVar) {
echo $newVar;
}
// Add the hook
add_action( 'another_area', 'function_name' );
// Trigger the hook with the $newVar;
do_action('another_area', $newVar);