2016-01-11 137 views
1

我想檢查選擇字段在編輯後是否更改了它的值,如果是,則發送電子郵件給管理員。無法將值從一個函數傳遞到另一個函數 - WordPress ACF

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/pre_save_post,像這樣保存先前的值到變量$ 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); 

回答

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(); 
} 
+0

感謝@zairwolf :)其實我試過,但我並沒有包括全球$ pre_status_eksperimenta;在第二個功能,所以它沒有工作。但現在它起作用了!再次感謝 –

相關問題