我想检查选择字段是否在发布后编辑时更改了它的值,如果是,则向管理员发送电子邮件。
我使用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);
答案 0 :(得分:2)
我认为它关于变量范围。当你在另一个函数中使用它时,你应该对它进行全局化。
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();
}