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;
}
?>
감사합니다.