无法将值从一个函数传递到另一个函数 - WordPress ACF

Can't pass value from one function to another - WordPress ACF

我想检查 select 字段在 post 编辑后是否更改了它的值,如果是,则向管理员发送电子邮件。

我使用 acf/pre_save_post 将之前的值保存到变量 $pre_status_eksperimenta,如下所示:

function action_pre_post_update( $post_id ) { 
    $pre_status_eksperimenta = get_post_meta($post_id, 'status', true);
};          
add_action( 'acf/pre_save_post', 'action_pre_post_update', 10, 1 ); 

当我 var_dump($pre_status_eksperimenta) 我得到正确的值,这意味着它有效。

然后我想将其传递给 acf/save_post 挂钩并检查是否有更改,但是现在当我 var_dump($pre_status_eksperimenta) 我得到 NULL

function status_change_notification($ID) {
    var_dump($pre_status_eksperimenta);
    die();
}
add_action( 'acf/save_post', 'status_change_notification', 10, 1);

我认为它与变量范围有关。当你在另一个函数中使用它时,你应该将它全局化。

function action_pre_post_update( $post_id ) { 
    global $pre_status_eksperimenta;
    $pre_status_eksperimenta = get_post_meta($post_id, 'status', true);
};

然后是

function status_change_notification($ID) {
    global $pre_status_eksperimenta;
    var_dump($pre_status_eksperimenta);
    die();
}