ID,'_web_business_meta',TRUE); // instead of writing HTML here, lets do an include include(MY_THEME_FOLDER . '/custom/meta.php'); // create a custom nonce for submit verification later echo ''; } function web_business_meta_save($post_id) { // authentication checks // make sure data came from our meta box if (!wp_verify_nonce($_POST['web_business_meta_noncename'],__FILE__)) return $post_id; // check user permissions if ($_POST['post_type'] == 'page') { if (!current_user_can('edit_page', $post_id)) return $post_id; } else { if (!current_user_can('edit_post', $post_id)) return $post_id; } // authentication passed, save data // var types // single: _web_business_meta[var] // array: _web_business_meta[var][] // grouped array: _web_business_meta[var_group][0][var_1], _web_business_meta[var_group][0][var_2] $current_data = get_post_meta($post_id, '_web_business_meta', TRUE); $new_data = $_POST['_web_business_meta']; web_business_meta_clean($new_data); if ($current_data) { if (is_null($new_data)) delete_post_meta($post_id,'_web_business_meta'); else update_post_meta($post_id,'_web_business_meta',$new_data); } elseif (!is_null($new_data)) { add_post_meta($post_id,'_web_business_meta',$new_data,TRUE); } return $post_id; } function web_business_meta_clean(&$arr) { if (is_array($arr)) { foreach ($arr as $i => $v) { if (is_array($arr[$i])) { web_business_meta_clean($arr[$i]); if (!count($arr[$i])) { unset($arr[$i]); } } else { if (trim($arr[$i]) == '') { unset($arr[$i]); } } } if (!count($arr)) { $arr = NULL; } } } ?>