Title: Create a form using PHP code
Last modified: December 25, 2025

---

# Create a form using PHP code

 *  Resolved [plgupa](https://wordpress.org/support/users/plgupa/)
 * (@plgupa)
 * [5 months, 1 week ago](https://wordpress.org/support/topic/create-a-form-using-php-code/)
 * Hi, I want to create a form in forminator through code if a specific condition
   comes true. Is it possible to create a form with fields, default values etc. 
   using backend PHP code?

Viewing 7 replies - 1 through 7 (of 7 total)

 *  Plugin Support [Nithin – WPMU DEV Support](https://wordpress.org/support/users/wpmudevsupport11/)
 * (@wpmudevsupport11)
 * [5 months ago](https://wordpress.org/support/topic/create-a-form-using-php-code/#post-18767849)
 * Hi [@plgupa](https://wordpress.org/support/users/plgupa/),
 *  You can check these methods and see if that helps:
 * [https://wpmudev.com/docs/api-plugin-development/forminator-api-docs/#method-add_form](https://wpmudev.com/docs/api-plugin-development/forminator-api-docs/#method-add_form)
 * Please do let us know how that goes.
 * 
   Regards,
 * Nithin
 *  Thread Starter [plgupa](https://wordpress.org/support/users/plgupa/)
 * (@plgupa)
 * [5 months ago](https://wordpress.org/support/topic/create-a-form-using-php-code/#post-18768112)
 * Hi, Thanks for the reply. This is very useful.
 * I want to duplicate a form through code and then remove few fields (from new 
   form) based on user input. I am doing something like this, but it did not work–
 *     ```wp-block-code
       function create_form($field1, $field2, $field3, $redirect){	$main_form = Forminator_API::get_form(14);	$new_form_id = Forminator_API::add_form('Form Test 3', $main_form->$fields, $main_form->$settings);	if($field1==false){		Forminator_API::delete_form_field($new_form_id, 'text-1');	}	if($field2==false){		Forminator_API::delete_form_field($new_form_id, 'text-2');	}	if($field3==false){		Forminator_API::delete_form_field($new_form_id, 'text-3');	}	Forminator_API::update_form_setting( $form_id, 'redirect-url', $redirect);}
       ```
   
 * Please guide what am I doing wrong?
 *  Thread Starter [plgupa](https://wordpress.org/support/users/plgupa/)
 * (@plgupa)
 * [5 months ago](https://wordpress.org/support/topic/create-a-form-using-php-code/#post-18768477)
 * Hi, I have almost figured it out. The new form is getting created and also I 
   am able to delete the fields. But I am not able to add redirect url to the form.
   It is always coming blank. I am using below code. Please help.
 *     ```wp-block-code
       function create_form(){    $main_form = Forminator_API::get_form(14);    $wrappers = Forminator_API::get_form_wrappers(14);    $settings = $main_form->settings;    $settings['formName'] = 'Form Test 8';	$new_form_id = Forminator_API::add_form(		'Form Test 8',		 $wrappers,		 $settings	);    Forminator_API::delete_form_field($new_form_id, 'text-1');    Forminator_API::update_form_setting($new_form_id, 'submission-behaviour', 'redirect');    Forminator_API::update_form_setting($new_form_id, 'redirect-url', 'https://url');}
       ```
   
 *  Plugin Support [Amin – WPMU DEV Support](https://wordpress.org/support/users/wpmudev-support2/)
 * (@wpmudev-support2)
 * [5 months ago](https://wordpress.org/support/topic/create-a-form-using-php-code/#post-18768967)
 * Hello [@plgupa](https://wordpress.org/support/users/plgupa/)
 * You need to access the redirect rule under submission-behaviour, which is an 
   array. I asked our developers to take a quick look at your code.
 * We will get back to you as soon as we have more information.
 * Best Regards
    Amin
 *  Thread Starter [plgupa](https://wordpress.org/support/users/plgupa/)
 * (@plgupa)
 * [5 months ago](https://wordpress.org/support/topic/create-a-form-using-php-code/#post-18769104)
 * Yes, please help, I still could not update the redirect url.
 *  Plugin Support [Amin – WPMU DEV Support](https://wordpress.org/support/users/wpmudev-support2/)
 * (@wpmudev-support2)
 * [5 months ago](https://wordpress.org/support/topic/create-a-form-using-php-code/#post-18769440)
 * Hello [@plgupa](https://wordpress.org/support/users/plgupa/)
 * We received further feedback from our development team.
 * You are changing the form name with this code “$settings[‘formName’] = ‘Form 
   Test 8’;” then can simply change the “$settings[‘submission-behaviour’]” and “
   $settings[‘redirect-url’]” and it should be **behaviour-redirect** and not redirect.
 * Please note that since custom coding is out of scope of our support, we can’t
   share examples.
 * Best Regards
    Amin
 *  [Kris – WPMU DEV Support](https://wordpress.org/support/users/wpmudevsupport13/)
 * (@wpmudevsupport13)
 * [4 months, 3 weeks ago](https://wordpress.org/support/topic/create-a-form-using-php-code/#post-18780133)
 * Hi [@plgupa](https://wordpress.org/support/users/plgupa/)
 * We haven’t heard from you in a while, I’ll go and mark this thread as resolved.
   If you have any additional questions or require further help, please let us know!
 * Kind Regards,
   Kris

Viewing 7 replies - 1 through 7 (of 7 total)

You must be [logged in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fwordpress.org%2Fsupport%2Ftopic%2Fcreate-a-form-using-php-code%2F%3Foutput_format%3Dmd&locale=en_US)
to reply to this topic.

 * ![](https://ps.w.org/forminator/assets/icon-256x256.gif?rev=3443182)
 * [Forminator Forms – Contact Form, Payment Form & Custom Form Builder](https://wordpress.org/plugins/forminator/)
 * [Frequently Asked Questions](https://wordpress.org/plugins/forminator/#faq)
 * [Support Threads](https://wordpress.org/support/plugin/forminator/)
 * [Active Topics](https://wordpress.org/support/plugin/forminator/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/forminator/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/forminator/reviews/)

 * 7 replies
 * 4 participants
 * Last reply from: [Kris – WPMU DEV Support](https://wordpress.org/support/users/wpmudevsupport13/)
 * Last activity: [4 months, 3 weeks ago](https://wordpress.org/support/topic/create-a-form-using-php-code/#post-18780133)
 * Status: resolved