Title: Forms: 3rd-Party File Attachments
Author: zaus
Published: <strong>2015 年 11 月 3 日</strong>
Last modified: 2018 年 10 月 10 日

---

搜索插件

**该插件尚未通过WordPress的最新3个主要版本进行测试**。 当与较新版本的WordPress一起
使用时，可能不再受到维护或支持，并且可能会存在兼容性问题。

![](https://s.w.org/plugins/geopattern-icon/forms-3rdparty-files.svg)

# Forms: 3rd-Party File Attachments

 作者：[zaus](https://profiles.wordpress.org/zaus/)

[下载](https://downloads.wordpress.org/plugin/forms-3rdparty-files.zip)

 * [详情](https://cn.wordpress.org/plugins/forms-3rdparty-files/#description)
 * [评价](https://cn.wordpress.org/plugins/forms-3rdparty-files/#reviews)
 *  [安装](https://cn.wordpress.org/plugins/forms-3rdparty-files/#installation)
 * [开发进展](https://cn.wordpress.org/plugins/forms-3rdparty-files/#developers)

 [支持](https://wordpress.org/support/plugin/forms-3rdparty-files/)

## 描述

Exposes file upload/attachments to the regular service mapping of [Forms 3rdparty Integration](https://wordpress.org/plugins/forms-3rdparty-integration/).

From discussion at https://github.com/zaus/forms-3rdparty-integration/issues/40.

## 安装

 1. Unzip, upload plugin folder to your plugins directory (`/wp-content/plugins/`)
 2. Make sure [Forms 3rdparty Integration](https://wordpress.org/plugins/forms-3rdparty-integration/)
    is installed and settings have been saved at least once.
 3. Activate plugin
 4. Choose how the files will be attached — either:
 5.  * as server path
     * as url
     * as base64-encoded bytes
     * as raw contents
 6. Map to the desired file detail, where _“[field]”_ is the corresponding input field
    name as you would normally map:
 7.  * `[field]` — the filename
     * `[field]_attach` — the transformed attachment from the previous step
     * `[field]_mime` — the file’s actual mime-type
     * `[field]_size` — the file size

## 常见问题

  How do I perform the appropriate transforms in custom hooks

Using `F3i_Files_Base::Transform($value, $how)` where `$how` is:
 * `path` * `url`*`
base64` * `raw`

  Gravity Forms input ids cause conflicts

Use the ‘label’ option to instead reference file uploads via the field label. You
can also set the Advanced > Admin Field Label to use a shorter/non-display label
than what users see on the form.

ex) If your upload field `input_5` has a very long label “Choose one or more files
blah blah blah” you would reference details like `Choose one or more files blah 
blah blah_attach` unless you set an admin label like “FileUpload”, in which case
you’d map to `FileUpload_attach`. You can also use this to attach to different upload
fields across forms — normally they might not be able to share the input_id, but
if you give them the same admin field label then you only need to map the service
once to that admin label.

  This only works for GF or CF7, what about Ninja Forms or some other form plugin?

Message the author about adding it, or:
 1. extend `F3i_Files_Base` and declare 
a method `get_files` that returns an array of (input_field => filepath) 2. hook 
to `F3i_Files_Base_register` and declare a new instance of your class

_(A note about Ninja Forms — file uploads are a paid addon, and the author doesn’t
have a copy, so adding it wasn’t on the roadmap)_

  It doesn’t work right…

Drop an issue at https://github.com/zaus/forms-3rdparty-files

## 评价

此插件暂无评价。

## 贡献者及开发者

「Forms: 3rd-Party File Attachments」是开源软件。 以下人员对此插件做出了贡献。

贡献者

 *   [ zaus ](https://profiles.wordpress.org/zaus/)

[帮助将「Forms: 3rd-Party File Attachments」翻译成简体中文。](https://translate.wordpress.org/projects/wp-plugins/forms-3rdparty-files)

### 对开发感兴趣吗?

您可以[浏览代码](https://plugins.trac.wordpress.org/browser/forms-3rdparty-files/)，
查看[SVN仓库](https://plugins.svn.wordpress.org/forms-3rdparty-files/)，或通过[RSS](https://plugins.trac.wordpress.org/log/forms-3rdparty-files/?limit=100&mode=stop_on_copy&format=rss)
订阅[开发日志](https://plugins.trac.wordpress.org/log/forms-3rdparty-files/)。

## 更新日志

#### 0.5.2

 * added special GF option to use field labels
 * some under-the-hood refactoring for clarity, reuse

#### 0.5

 * refactored support for GF single and multifile fields
 * fix: collapsing ui

#### 0.4.1

 * fix #2 — GF validation errors removes filename, fallback to path basename

#### 0.4

 * including `$form` in `_get_files` hook
 * consolidating byte handling between ‘raw’ and ‘base64’
 * no longer throws an exception if unable to get file, instead returns an error
   array
 * fixed for GF 2.0.7.2 temp path issue #1
 * new filter: `_get_path` used for GF bug

#### 0.3

 * refactored inheritance, ‘better’ form registration, include ninja forms

#### 0.2

 * added “meta” details
 * breaking change – removed overwrite setting as unnecessary (due to compatible
   formatting)
 * works with GF and CF7

#### 0.1

IT HAS BEGUN

## 额外信息

 *  版本 **0.5.2**
 *  最后更新：**8 年前**
 *  活跃安装数量 **20+**
 *  WordPress 版本 ** 3.0 或更高版本 **
 *  已测试的最高版本为 **4.9.29**
 *  语言
 * [English (US)](https://wordpress.org/plugins/forms-3rdparty-files/)
 * 标签
 * [cf7](https://cn.wordpress.org/plugins/tags/cf7/)[contact form](https://cn.wordpress.org/plugins/tags/contact-form/)
   [contact form 7](https://cn.wordpress.org/plugins/tags/contact-form-7/)[form](https://cn.wordpress.org/plugins/tags/form/)
   [gravity forms](https://cn.wordpress.org/plugins/tags/gravity-forms/)
 *  [高级视图](https://cn.wordpress.org/plugins/forms-3rdparty-files/advanced/)

## 评级

尚未提交反馈。

[Your review](https://wordpress.org/support/plugin/forms-3rdparty-files/reviews/#new-post)

[查看全部评论](https://wordpress.org/support/plugin/forms-3rdparty-files/reviews/)

## 贡献者

 *   [ zaus ](https://profiles.wordpress.org/zaus/)

## 支持

有话要说吗？是否需要帮助？

 [查看支持论坛](https://wordpress.org/support/plugin/forms-3rdparty-files/)

## 捐助

您愿意支持这个插件的发展吗?

 [ 捐助此插件 ](http://drzaus.com/donate)