我想检查select字段在后期编辑后是否更改了值,如果是,则向管理员发送电子邮件。
我使用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();
}