2016-08-31 10 views
1

Gravityフォームは、ファイルアップローダからファイルを添付する方法を提供しています(下のコードを参照してください)。このコードを変更して、隠しフィールド値からPDFファイルを添付するか、私はいくつかのことを試みたが、うまくいかなかった。どんな助けもありがとう!重力フォーム通知にPDFファイルを添付するにはどうすればいいですか?

add_filter('gform_notification', 'change_user_notification_attachments', 10, 3); 
function change_user_notification_attachments($notification, $form, $entry) { 

//There is no concept of user notifications anymore, so we will need to target notifications based on other criteria, such as name 
if ($notification['name'] == 'User Notification') { 

    $fileupload_fields = GFCommon::get_fields_by_type($form, array('fileupload')); 

    if(!is_array($fileupload_fields)) 
     return $notification; 

    $attachments = array(); 
    $upload_root = RGFormsModel::get_upload_root(); 
    foreach($fileupload_fields as $field) { 
     $url = $entry[ $field['id'] ]; 
     $attachment = preg_replace('|^(.*?)/gravity_forms/|', $upload_root, $url); 
     if ($attachment) { 
      $attachments[] = $attachment; 
     } 
    } 

    $notification['attachments'] = $attachments; 

} 

return $notification; 
    } 

答えて

0

このコードに基づいて、このようなものが動作するはずです。 $ urlの値をPDFのURLに置き換えます。

add_filter('gform_notification', 'change_user_notification_attachments', 10, 3); 
function change_user_notification_attachments($notification, $form, $entry) { 

    if ($notification['name'] == 'User Notification') { 
     $url = 'http://yoursite.com/path/to/file.pdf'; 
     $notification['attachments'] = array($url); 
    } 

    return $notification; 
} 
関連する問題