2012-04-14 5 views
0

Wordpress에서 Gravity Forms를 사용하여 클라이언트 제출 양식을 만듭니다. Gravity Forms에는이 작업에 필요한 대부분의 요구 사항이 있지만 플러그인 자체에 사용자 정의 필드를 만들어야합니다.이 필드는 확장 가능해야합니다.Gravity Forms : 데이터를 게시하지 않는 사용자 생성 필드

이와 같이 게시 후 YouTube에 비디오 파일을 업로드하는 필드 유형을 만들고 있습니다. 파일 업로드 입력 유형을 사용하고 제출시 파일 데이터 (또는 url/pathname)를 가져와 Youtube에 업로드 할 계획입니다. 이것은 3 주 안에 구축해야하는 클라이언트 프로젝트의 일부입니다.

나는 다음과 같은 후크 사용하여 사용자 정의 필드를 만든

: (끔찍한 서식에 대한 미안, 링크와 코드가 잘 혼합하지 않습니다)

add_action("gform_field_input", array('GFYoutubeUpload', 'add_gf_fieldtype'), 10, 5)

add_filter("gform_editor_js_set_default_values", array('GFYoutubeUpload', 'add_gf_defaults'));

add_action("gform_editor_js", array('GFYoutubeUpload', 'add_gf_formeditor'));

add_filter("gform_add_field_buttons", array('GFYoutubeUpload', 'add_gf_button'));

add_filter("gform_field_type_title", array('GFYoutubeUpload', 'add_gf_title'));

(I도. 나는 그 다른 플러그인에 입력을 보내드립니다 쓰기 시작했습니다 pre_submission 핸들러가) 나는 파일 입력을 만들었습니다 올바른 이름 지정 규칙이 있다고 생각합니다. 아래에 내 기능을 게시했습니다.) 입력 유형이 Wordpress 관리 페이지 및 Gravity Forms 양식 미리보기에 올바르게 표시되어 있지만 양식을 게시 할 때 내 맞춤 입력란에 관련된 값이 없습니다. (거기에 해당하는 $ _POST에는 아무 것도 없습니다.)

아래 코드를 보면 아무도 내가이 입력을 잘못 만든 곳을 말할 수 있습니까? 양식에 추가 한 데이터를 처리하는 데 사용할 필요가 있다는 것을 모르는 또 다른 문제가 있습니까?

<?php 
    /* Register the cusitom field type with Gravity Forms. */ 
    public static function add_gf_fieldtype($input, $field, $value, $lead_id, $form_id) { 
     if ($field["type"] == "youtube") { 
      $input_name = $form_id .'_'. $field['id']; 
      $css = isset($field['cssClass']) ? $field['cssClass'] : ''; 

      return sprintf("<div class='ginput_container'><input name='input_%s' id='input_%s_%s' class='%s' value='' type='file' /></div>", $field["id"], $form_id, $field["id"], $field["type"]. ' ' .esc_attr($css). ' ' .$field['size']); 
     } 

     return $input; 
    } 
?> 

감사합니다.

답변

0

대답은 실제로 간단했습니다. 그것은 중력 양식이 아니 었습니다. 기본 PHP였습니다. 나는 데이터가 실제로 사는 $_FILES 대신에 $_POST superglobal을 사용하고있었습니다. 다행히도, 이것은이 문제에 부딪히는 다른 누군가를 도울 것입니다.

관련 문제