WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We created a custom post type "items" and its showing at admin end, now we want a user can insert a item from front end and this will be link to a menu item called "My Account" so a user can see his all inserted item and can add new item by clicking a link "Add New Item".

How can we achieve this, any help will be highly appreciated.

share|improve this question

I did something recently like that.

Try this plugin WP User Frontend (http://wordpress.org/plugins/wp-user-frontend/)

The free version will let you do what you need.

share|improve this answer
Its a complete plugin, we need the proper steps, how we proceed further. – BhavyaSoft Jul 27 '13 at 11:30
the install instructions have all the steps you need: wordpress.org/plugins/wp-user-frontend/installation More details here: docs.wedevs.com/wp-user-frontend-pro/#usage these are for the pro version, but there is overlap with the free version – forlogos Aug 1 '13 at 14:32

Try This Custom Code For Create Post From Front End

Insert Data in Custom Post From Front End

if ( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) && $_POST['action'] == "product") {

    $title     = $_POST['title'];
    $post_type = 'product';
    //the array of arguements to be inserted with wp_insert_post
    $front_post = array(
    'post_title'    => $title,
    'post_status'   => 'publish',          
    'post_type'     => $post_type 

    //insert the the post into database by passing $new_post to wp_insert_post
    //store our post ID in a variable $pid
    $post_id = wp_insert_post($front_post);
    //we now use $pid (post id) to help add out post meta data
    update_post_meta($post_id, "short_description", @$_POST["short_description"]);
    update_post_meta($post_id, "price", @$_POST["price"]);
    update_post_meta($post_id, "length", @$_POST["length"]);

HTML Code Here

<form method="POST">
<label>Product Name</label>
        <input type="text" value="" class="input-xlarge" name='title'>
        <label>Product Description</label>
        <textarea value="" rows="3" class="input-xlarge" name='short_description'>
        <input type="text" value="" class="input-xlarge" name='price'>
        <label>Dimensions (in):</label>
        <input type="text" value="" class="input-xlarge" name='length' placeholder="Length">
            <button class="btn btn-primary">Add Product</button>
        <input type="hidden" name="action" value="product" />
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.