2013-07-05 55 views
-2

我有一個創建帖子的函數。之前保存新的崗位,對之前操作數據保存鉤:從內部函數退出php

function save(){ 
    $data = apply_filters('data_before_save',array(....)); 
    $post_id = wp_insert_post($data); 
    return $post_id; 
} 

現在我添加的東西到$數據:

add_filter('data_before_save','conditional_save',10,1); 
function conditional_save($data){ 
    //...some stuffs 
    if($data['x']== $blabla){ 
    wp_safe_redirect($link); 
    exit(); 
    }else{ 
    $data['x'] = $x; 
    } 
    return $data; 
} 

請問function savefunction conditional_save前退出行save_post? 如果條件符合,我不想返回任何數據。我試過我的代碼,它似乎工作 - 重定向,並沒有創建新的職位。但我想確保function save真的停止運行。

+0

你爲什麼不試試看? – itachi

+0

爲什麼不看看** [文檔](http://ca1.php.net/manual/en/function.exit.php)**? – jcsanyi

+0

@jcsanyi我在我的答案中提到 – Gautam3164

回答

0

exit()會突然停止代碼的所有執行。 它通常不是一個好主意。

利用FLAGS代替。

編輯:

FLAG不是保留關鍵字。 只需在條件保存中將var設置爲true/false,請檢查save()上的標誌。取決於var的結果,您可以限制要執行的操作以及不執行的操作。

+0

但什麼是FLAGS? – Jenny

+0

@Jenny,編輯。 –

+0

我不能直接修改函數save,它是另一個人的插件。 – Jenny