2011-10-09 2 views
0

죄송 합니다만,이 질문은 WordPress 사이트에서했지만 아직 보지 못했습니다. 나는 여기에 다시 게시함으로써 어떤 규칙도 위반하지 않기를 바랍니다.Wordpress plugin admin 리디렉션 및 오류 반환

저는 다양한 항목을 추가하고 편집 할 수있는 양식이있는 관리 섹션이있는 WordPress 플러그인을 개발해 왔습니다. 이제 관리자가 성공한 경우 리디렉션하고 (업데이트 된 값 표시) 양식을 제출하거나 그렇지 않은 경우 다양한 오류 메시지를 표시합니다. wp_redirect 시도에서 헤더 오류가 발생하여 헤더 오류 메시지없이 리디렉션 할 수 있도록 add_action 메소드를 사용하기 시작한 후 살펴본 결과입니다. 내가 지금 가지고있는 문제는 양식이 올바르게 제출되지 않은 경우에도 오류의 배열이 항상 null 인 것입니다. 나는 ADD_ACTION 전에 변수 오류를 정의하고 나는 그것을 채워집니다 제출 처리하는 함수에서 $ 오류의 위해서 var_dump를 할 경우 ADD_ACTION에서 함수에 나는

global $errors; 

을 가지고,하지만 내 실제 페이지에이다 항상 비어 있습니다. 내 생각 엔 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'); 

그런 다음 양식 제출은 위의 값이있는 경우에도
//actual admin page that shows in WP 
    var_dump($errors); // returns NULL 

는 항상 null이됩니다 형태를 보여줍니다 실제 관리자 페이지에서

//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 
    } 
    } 

유사하다. 누구든지이 문제를 어떻게 처리 할 수 ​​있는지 조언을 받았습니까? WP 플러그인 개발에 익숙하지 않아서 모범 사례가 무엇인지 잘 모릅니다.

답변

1

글쎄, 내가이 문제를 해결 한 것처럼 보입니다. 내가 아니라 글로벌로 내 $ 오류 배열을 선언 할 필요가 실제 관리자 페이지에서

global $errors; 

나는 워드 프레스는 어떻게 든 기능으로 관리자 페이지를 상자해야하므로 $ 오류 배열이를 참조하지 않은 것 같아요 전역 변수.