Title: Help to insert content into post custom fields
Last modified: August 21, 2016

---

# Help to insert content into post custom fields

 *  [charldarwin](https://wordpress.org/support/users/charldarwin/)
 * (@charldarwin)
 * [12 years ago](https://wordpress.org/support/topic/help-to-insert-content-into-post-custom-fields/)
 * Hi,
 * I need help, I’m trying to create a form to post from the frontend. I’m using
   post type creator, custom taxonomies, and custom fields.
 * I don’t have any problem to post using post type and custom taxonomies. My problem
   is with Custom Fields. I have 3 Metaboxes with different custom fields inside.
 * Is there any way to get it?
 * [https://wordpress.org/plugins/wck-custom-fields-and-custom-post-types-creator/](https://wordpress.org/plugins/wck-custom-fields-and-custom-post-types-creator/)

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

 *  Plugin Author [Cristian Antohe](https://wordpress.org/support/users/sareiodata/)
 * (@sareiodata)
 * [12 years ago](https://wordpress.org/support/topic/help-to-insert-content-into-post-custom-fields/#post-4864090)
 * You’ll need to look at how we’re storing the custom fields. Basically every metabox
   is a serialized array with the fields inside it
 * This is how that array might look like:
 *     ```
       Array
       (
           [0] => Array
               (
                   [birth-day] => 2014-04-17
                   [editor] => Extra info baby
                   [avatar] => 51
               )
   
       )
       ```
   
 * Check out this article: [http://nacin.com/2010/04/18/wordpress-serializing-data/](http://nacin.com/2010/04/18/wordpress-serializing-data/)
 * As long as you keep the same structure of the array, cpt’s published from the
   front-end will be able to modify them in the backend using WCK.
 *  Thread Starter [charldarwin](https://wordpress.org/support/users/charldarwin/)
 * (@charldarwin)
 * [12 years ago](https://wordpress.org/support/topic/help-to-insert-content-into-post-custom-fields/#post-4864278)
 * Hi, Thanks for answer.
 * I couldn’t get the solution with the information you give me. There could be 
   something wrong in my code, Could you tell me what’s the mistake i’m doing?
 * I’m using two metabox (Specific Details and Basic Details) with two fields inside(
   address and extra-info)(phone and email) respectively.
 * This is my code:
 *     ```
       if( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) &&  $_POST['action'] == "new_post") {
   
           if (isset ($_POST['title'])) {
               $title =  $_POST['title'];
           } else {
               echo 'Please, Complete Title Field';
           }
   
           $tags = $_POST['post_tags'];
           $address = $_POST['address'];
           $extra_details = $_POST['exinfo'];
   
           $phone= $_POST['phone'];
           $email = $_POST['email'];
   
           $new_post = array(
           'post_title'    =>  $title,
           'post_content'  =>  $description,
           'post_tags'     =>  array($_POST['country']),
           'post_tags'     =>  array($_POST['city']),
           'tags_input'    =>  array($tags),
           'post_status'   =>  'publish',
           'post_type' =>  'events'
           );
   
           $pid = wp_insert_post($new_post);
           update_post_meta($pid, 'specific-details_address_1', array( $address ) );
           update_post_meta($pid, 'specific-details_extra-info_1', array( $extra_details ) );
   
           update_post_meta($pid, 'basic-details_phone-number_1', array( $phone) );
           update_post_meta($pid, 'basic-details_email_1', array( $email ) );
   
           if ($_FILES) {
               foreach ($_FILES as $file => $array) {
               $newupload = insert_attachment($file,$pid);
               }
           }
   
           wp_set_post_tags($pid, $_POST['post_tags']);
           wp_set_post_terms( $pid, $_POST['country'], 'tax-country', false );
           wp_set_post_terms( $pid, $_POST['city'], 'tax-city', false );
   
       }
   
       do_action('wp_insert_post', 'wp_insert_post');
       ```
   
 * And this is my code in the form
 *     ```
       <form id="new_post_event" name="new_post" method="post" action="" class="event-entry" enctype="multipart/form-data">
                   <div id="fe-block1" class="fe-block">
                       <fieldset name="name">
                           <label for="title">Title*:</label><br>
                           <input type="text" id="title" value="" tabindex="1" name="title" />
                       </fieldset>
                   </div>
                   <div id="fe-block2" class="fe-block">
                       <fieldset class="country">
                           <label for="country">Country:</label><br>
                           <?php wp_dropdown_categories(array('hide_empty' => 0, 'hide_if_empty' => false, 'name' => 'country', 'orderby' => 'name', 'taxonomy' => 'country', 'selected' => $tag->parent, 'exclude_tree' => $tag->term_id, 'hierarchical' => true)); ?>
                       </fieldset>
                       <fieldset class="city">
                           <label for="city">City:</label><br>
                           <?php wp_dropdown_categories(array('hide_empty' => 0, 'hide_if_empty' => false, 'name' => 'city', 'orderby' => 'name', 'taxonomy' => 'city', 'selected' => $tag->parent, 'exclude_tree' => $tag->term_id, 'hierarchical' => true)); ?>
                       </fieldset>
                       <fieldset name="address">
                           <label for="address">Address:</label><br>
                           <input type="text" id="address" value="" tabindex="13" name="address" />
                       </fieldset>
                       <fieldset name="phone">
                           <label for="phone">Phone:</label><br>
                           <input type="text" id="phone" value="" tabindex="13" name="phone" />
                       </fieldset>
                       <fieldset name="email">
                           <label for="email">Email:</label><br>
                           <input type="text" id="email" value="" tabindex="13" name="email" />
                       </fieldset>
                       <fieldset name="exinfo">
                           <label for="exinfo">Inf Details(max. 200 caract.):</label><br>
                           <textarea type="text" id="exinfo" value="" tabindex="26" name="exinfo"></textarea>
                       </fieldset>
                       <div class="submit">
                           <input type="submit" value="Send" tabindex="40" id="submit" name="submit" />
                       </div>
                       <input type="hidden" name="action" value="new_post" />
                       <?php wp_nonce_field( 'new-post' ); ?>
                   </div>
               </form>
       ```
   
 * All this code is in the same file front-form.php
 * In functions.php I put this code:
 *     ```
       add_filter( 'wck_cfc_unserialize_fields_basic-events-details', 'wck_change_unserialize_arg' );
       function wck_change_unserialize_arg( $bool ){
       return true;
       }
   
       add_filter( 'wck_cfc_unserialize_fields_specific-events-details', 'wck_change_unserialize_arg_2' );
       function wck_change_unserialize_arg_2( $bool2 ){
       return true;
       }
       ```
   
 * I hope you could help me to understand whats wrong with the code? I’m using The
   Custom Field creator from the wck plugin
 * Thanks
 *  Plugin Author [Cristian Antohe](https://wordpress.org/support/users/sareiodata/)
 * (@sareiodata)
 * [12 years ago](https://wordpress.org/support/topic/help-to-insert-content-into-post-custom-fields/#post-4864288)
 * Hi,
 * Yup, I know why this doesn’t work. Unfortunately the unserialized filter only
   works one way.
 * We you activate unserialized fields on a particular metabox, all it dose is to
   ALSO save those fields in normal fields. This means that when you edit them, 
   WCK doesn’t know about those changes because he’s only looking in the serialized
   meta field.
 * That being said, instead of updating fields one by one, you’ll need to create
   an array and insert that:
 * `update_post_meta($pid, 'specific-details', $custom_array_with_post_data );`
 * Where $custom_array_with_post_data has the same information as an array built
   with the metabox in the backend.
 * If you’re not sure what’s the structure, fill a metabox in the backend, then 
   in the single.php do a var_dump after
    ‘get_post_meta($post->ID, ‘specific-details’,
   true);’
 * Hope this helps!

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

The topic ‘Help to insert content into post custom fields’ is closed to new replies.

 * ![](https://ps.w.org/wck-custom-fields-and-custom-post-types-creator/assets/icon-
   256x256.png?rev=2257602)
 * [Custom Post Types and Custom Fields creator - WCK](https://wordpress.org/plugins/wck-custom-fields-and-custom-post-types-creator/)
 * [Frequently Asked Questions](https://wordpress.org/plugins/wck-custom-fields-and-custom-post-types-creator/#faq)
 * [Support Threads](https://wordpress.org/support/plugin/wck-custom-fields-and-custom-post-types-creator/)
 * [Active Topics](https://wordpress.org/support/plugin/wck-custom-fields-and-custom-post-types-creator/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/wck-custom-fields-and-custom-post-types-creator/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/wck-custom-fields-and-custom-post-types-creator/reviews/)

## Tags

 * [custom fields](https://wordpress.org/support/topic-tag/custom-fields/)
 * [frontend](https://wordpress.org/support/topic-tag/frontend/)

 * 3 replies
 * 2 participants
 * Last reply from: [Cristian Antohe](https://wordpress.org/support/users/sareiodata/)
 * Last activity: [12 years ago](https://wordpress.org/support/topic/help-to-insert-content-into-post-custom-fields/#post-4864288)
 * Status: not resolved