F
by zaus 5 (2 reviews)

Forms: 3rd-Party Xml Post

Converts submission from Forms 3rdparty Integration to xml/json, add headers, or nest fields.

Forms ranks #13,418 among WordPress.org plugins with 100+ active installations, is #617 of 2,588 in the Contact Forms category, a 5/5 rating from 2 reviews, and was last updated Jul 17, 2018. Data from WordPress.org, refreshed twice daily — see methodology.

Tested up to WP 4.9.32 (Current: 7.1)
v1.4.3 Current Version v1.4.3
Updated 8 years ago Last Update on 17 Jul, 2018
Refreshed 6 hours ago Last Refreshed on
#617 of 2,588 in Contact Forms Top 25% by installs No update in over a year
View on WordPress.org
Rank
#13,418
-11 this week
Active Installs
100+
-46.8%
KW Avg Position
N/A
No change
Downloads
8.6K
+1 today
Support Resolved
0%
No change
Rating
100%
Review 5 out of 5
5 (2 reviews)

Next Milestone 200

Total Progress 89%
100+ 200+
584
Ranks to Climb
-
Growth Needed
8,000,000
Active Installs
Pro

Unlock Exact Install Count

See the precise estimated active installs for this plugin, calculated from real-time ranking data.

  • Exact install estimates within tiers
  • Track install growth over time
  • Milestone progress predictions
Upgrade to Pro
Need 11 more installs to reach 200+

Rank Changes

13,377 13,394 13,412 13,429 13,446 11-09-2026 12-09-2026 13-09-2026 14-09-2026 15-09-2026 16-09-2026 17-09-2026 18-09-2026
13,349 13,374 13,400 13,425 13,450 03-09-2026 04-09-2026 05-09-2026 06-09-2026 07-09-2026 08-09-2026 09-09-2026 10-09-2026 11-09-2026 12-09-2026 13-09-2026 14-09-2026 15-09-2026 16-09-2026 17-09-2026 18-09-2026
Current #13,418
Change
Best #

Upgrade to Pro

Unlock 30-day and 90-day rank history charts with a Pro subscription.

Upgrade Now

Active Installs Growth

Active Installs 0,000,000+
Growth +0.0%
Peak 0,000,000

Downloads Growth

0 10 11-09-2026 12-09-2026 13-09-2026 14-09-2026 15-09-2026 16-09-2026 17-09-2026 18-09-2026
0 10 03-09-2026 04-09-2026 05-09-2026 06-09-2026 07-09-2026 08-09-2026 09-09-2026 10-09-2026 11-09-2026 12-09-2026 13-09-2026 14-09-2026 15-09-2026 16-09-2026 17-09-2026 18-09-2026
Downloads
Growth
Peak

Upgrade to Pro

Unlock 30-day, 90-day, and yearly download history charts with a Pro subscription.

Upgrade Now

Reviews & Ratings

5.0
2 reviews
Overall 100%
5
2 (100%)
4
0 (0%)
3
0 (0%)
2
0 (0%)
1
0 (0%)

Security History

Source: WPVulnerability

No known vulnerabilities on record for Forms. Checked 1 month ago.

TL;DR

AI summary of the plugin's readme

This plugin is for site owners using the Forms: 3rdparty Integration plugin who need to send form submissions to external systems in specific formats. It converts form submissions into XML or JSON posts, with support for custom headers and nested field structures.

  • Converts submissions to XML
  • Converts submissions to JSON
  • Adds custom headers
  • Supports SOAP submissions
  • Nests fields into values
  • Combines separate fields
  • Turns mappings into XML elements

Frequently Asked Questions

Common questions about Forms: 3rd-Party Xml Post

See "base plugin" Forms: 3rdparty Integration.
Provide the list of headers as though they were a URL querystring, so that Content-Type: something X-Special-Header: something-else would be given as Content-Type=something&X-Special-Header=something-else You may also use shortcodes such as base64 in the header.
Separate element names within the same 3rdparty field mapping using /, so that in order to make: <credentials type="123"> <user>xyz</user> <pass>abc</pass> </credentials> you would use credentials/@type, credentials/user and credentials/pass, respectively. Note: You may nest and wrap elements even if not transforming into XML; they will be submitted as multi-dimensional arrays like: credentials[@type]=123&credentials[user]=xyz&credentials[pass]=abc
As of v1.3, if there is a standalone numerical index it will cause repetition of the "parent" element. ex) If the post is: item => array ( 0 => value1, 1 => value2, 2 => value3 ) it will result in <item>value1</item> <item>value2</item> <item>value3</item> You can accomplish this with the Forms-3rdparty separator [%] to place your index appropriately.
Just enter the entire root xml in the field, a la http://stackoverflow.com/questions/5992268/simplexml-how-to-correctly-set-encoding-and-xmins
To produce <SomeTag />, make sure the "Autoclose" option is enabled. To produce <SomeTag></SomeTag>, make sure the "Autoclose" option is unchecked.
Use the 'Mask' format, which allows you to specify the result exactly as you want via string replacement (sprintf), or the 'Replace'/'Advanced Replace' format which will replace string tokens ({{3rdparty}}). Useful for complex XML. The 'Root Element' field will now be treated as a string-replacement mask (a la sprintf for "Mask" or str_replace for "Replace"), so make sure to include the post body with the appropriate placeholder(s) (%s for "Mask", {{3rdparty_Fields}} for "Replace"). For 'Mask' format, each '3rd-Party Field' will also be treated the same, using %s to indicate where the submission value should go. For 'Replace' format, repeating fields are not handled -- it essentially looks for instances of each "3rd-Party Field" column and replaces it with the corresponding input value. For 'Advanced Replace' format, it works the same except that repeating fields are handled in one of two ways: Providing the shortcode [xpost-loop on="repeatingFieldKey" times="a number"]loop content[/xpost-loop] will repeat the loop content either times or for each key in the array repeatingFieldKey (which is your 3rdparty mapped field) otherwise it will suffix each repeating field key with its index and look for that as a placeholder (e.g. myfield1, myfield2, etc)
For the given mapping: Source 3rdparty ------ -------- input_1 name input_2 phone input_3.1 files\%i\name input_3.2 files\%i\name input_3.3 files\%i\name input_4.1 files\%i\content input_4.2 files\%i\content input_4.3 files\%i\content input_5.1 files\%i\mime input_5.2 files\%i\mime input_5.3 files\%i\mime Normally the input_3.* fields would get grouped together, as would the input_4.* fields. Using separator [%], it will create a nested list like: array( 'files' => array( 0 => array( 'name' => 'value of input_3.1', 'mime' => 'value of input_5.1', 'content' => 'value of input_4.1' ), 1 => array( 'name' => 'value of input_3.2', 'mime' => 'value of input_5.2', 'content' => 'value of input_4.2' ), 2 => array( 'name' => 'value of input_3.3', 'mime' => 'value of input_5.2', 'content' => 'value of input_4.3' ), )) With Advanced Replacement, you could set the "Root Elements" field to something like the following (which mimics a normal form upload): --multipartboundaryPE6azq Content-Disposition: form-data; name="myNameField" {{name}} --multipartboundaryPE6azq Content-Disposition: form-data; name="myPhoneField" {{phone}} [xpost-loop on="files"]--multipartboundaryPE6azq Content-Disposition: form-data; name="myUploadFiles"; filename="{{name}}" Content-Type: {{mime}} {{content}} [/xpost-loop] Note the use of the shortcode xpost-loop which will repeat for each of the elements in the nested files array, replacing the placeholders accordingly.

More plugins by zaus

Sign In / Register

You need to sign in or register to use this feature.