Posting a form in WordPress

When creating a form, you typically post that form’s data to another file to process the input and do its magic. This can be difficult with WordPress because of the way it handles its data. There is a simple solution.

  1. We are going to post the form to the page it is currently on.
  2. Then we are going to add a block of code to the theme’s functions.php file
  3. When the page refreshes, this code will check if the form was submitted.

Example Form code
[php]<form action="<?php echo get_permalink( $post->ID ); ?>" method="POST" id="namespace-form">
<label>First &amp; Last Name</label>
<input type="text" name="username" id="name" value="" placeholder="First & Last Name" />
<input type="hidden" name="user_id" value="123" />
<input type="submit" value="Submit" name="submit_namespace_form" id="submit_namespace_form" />
</form>[/php]

Code block for functions.php
[php]add_action(‘init’, ‘namespace_form’);
function namespace_form(){
if($_POST['submit_namespace_form'])
{
$user['username'] = sanitize_user(stripslashes($_POST['username']));
$user['user_id'] = (is_number($_POST['user_id']) ? $_POST['user_id'] : 0;
update_option(‘namespace_user’, $user);
}
}[/php]

I wrote this on-the-fly so it’s untested. Be sure to edit it to fit your needs.

About Clifton Hatfield

He fell in love with the WordPress Publishing Platform and has been creating themes and plugins for it ever since. He is the kind of guy that can read code better than he can read a book. Often, you can find him hunched over a keyboard delivering his magic. He likes cold pizza, walking on moving sidewalks, and Indiana Jones. Clifton co-founded The Internet Lifestyle Network.
2 comments
Rockstar
Rockstar

So which fields can you use on this form. Does this work like contact form? I own a WP blog and use several form plugins for this. Thanks!

Clifton Hatfield
Clifton Hatfield

This code is used to capture the form data after it has been posted.