public static function build_map_array() { $lead_fields = Leads_Field_Map::get_lead_fields(); $field_map = array(); $field_map[''] = 'No Mapping'; // default empty foreach ($lead_fields as $key => $field) { $label = $field['label']; $key = $field['key']; $field_map[$key] = $label; } return $field_map; }
function wpleads_save_user_fields($post_id) { global $post; if (!isset($post) || isset($_POST['split_test'])) { return; } if ($post->post_type == 'revision' || 'trash' == get_post_status($post_id)) { return; } if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE || isset($_POST['post_type']) && $_POST['post_type'] == 'revision') { return; } if ($post->post_type == 'wp-lead') { $Leads_Field_Map = new Leads_Field_Map(); $wpleads_user_fields = $Leads_Field_Map->get_lead_fields(); foreach ($wpleads_user_fields as $key => $field) { $old = get_post_meta($post_id, $field['key'], true); if (isset($_POST[$field['key']])) { $new = $_POST[$field['key']]; if (is_array($new)) { //echo $field['name'];exit; array_filter($new); $new = implode(';', $new); update_post_meta($post_id, $field['key'], $new); } else { if (isset($new) && $new != $old) { update_post_meta($post_id, $field['key'], $new); if ($field['key'] == 'wpleads_email_address') { $args = array('ID' => $post_id, 'post_title' => $new); wp_update_post($args); } } else { if ('' == $new && $old) { delete_post_meta($post_id, $field['key'], $old); } } } } } } }
/** * Gets mapped field data for this lead provide and sets it into static variable */ public static function get_mapped_fields() { global $post; $fields = array(); $mapped_fields = Leads_Field_Map::get_lead_fields(); $mapped_fields = Leads_Field_Map::prioritize_lead_fields($mapped_fields); foreach ($mapped_fields as $key => $field) { $fields[$field['key']] = $field; /* Get related meta value if exists */ $fields[$field['key']]['value'] = get_post_meta($post->ID, $mapped_fields[$key]['key'], true); /* Get default mapped value if meta value does not exists */ if (!$fields[$field['key']]['value'] && isset($mapped_fields[$key]['default'])) { $fields[$field['key']]['value'] = $mapped_fields[$key]['default']; } elseif (!isset($fields[$field['key']]['value'])) { $fields[$field['key']]['value'] = ""; } } self::$mapped_fields = $fields; }