2011-10-09 43 views
0

道歉,但我沒有問這個在WordPress的網站,但它似乎並沒有得到單獨看還沒有回答!希望我不打破任何規則在這裏重新發布。WordPress的插件管理重定向並返回錯誤

我一直在開發有一個形式的管理部分添加和編輯各種事物的WordPress插件。現在,管理員提交表單後,如果成功(想要顯示更新的值),我想重定向,如果沒有,則顯示各種錯誤消息。我得到了嘗試wp_redirect的頭部錯誤,並且在查看完所以我開始使用add_action方法,因此我可以在沒有頭部錯誤消息的情況下重定向。我現在遇到的問題是,即使表單沒有正確提交,我現在的錯誤數組也是空的。我ADD_ACTION之前已定義的變量中的錯誤和在ADD_ACTION功能我有

global $errors; 

如果我做$錯誤的的var_dump在處理提交它填充功能,但後來我的實際網頁上顯示它是總是空的。我的猜測是,我不熟悉頁面在WP中調用的順序,我錯過了一些東西,但其他人怎麼處理呢?

//the index.php for pluging 
    //require necessary files 
    $errors = null; 
    include('plugin_file.php'); 
    //Tie into wordpress hooks 
    add_action('widgets_init', 'plugin::register_func'); 
    add_action('admin_menu', 'plugin::add_menu_item'); 
    add_action('admin_init', 'plugin::check_form_submission'); 

然後表單提交類似於

//THE Class file for my plugin 
    static function check_form_submission(){ 
    global $errors; 
     if(empty($_POST['some_field'])){ 
         $errors['some-error'] = 'some error'; 
     } 
    if(!$errors){ 
    //handle and redirect here 
    }else{ 
    var_dump($errors); // does have values 
    } 
    } 

在實際的管理頁面顯示形式

//actual admin page that shows in WP 
    var_dump($errors); // returns NULL 

永遠是零,即使有上述數值。任何人有任何建議如何處理?我是WP插件開發新手,所以不確定最佳實踐是什麼。

回答

1

以及它看起來像我的工作了這一點。

在實際的管理頁面,我需要聲明我的$ errors數組作爲全球以及

global $errors; 

我猜的wordpress必須以某種方式框中的管理頁面到功能等$ errors數組沒有引用全球變種