/**
  * Register custom columns for the wp-lead post type
  * @param $cols
  * @return array
  */
 public static function register_columns($cols)
 {
     $cols = array("cb" => "<input type=\"checkbox\" />", "lead-picture" => __('Lead', 'leads'), "first-name" => __('First Name', 'leads'), "last-name" => __('Last Name', 'leads'), "title" => __('Email', 'leads'), "status" => __('Status', 'leads'), 'conversion-count' => __('Conversion Count', 'leads'), "page-views" => __('Total Page Views', 'leads'), "date" => __('Created', 'leads'));
     /* not sure about this, needs documentation - H */
     if (isset($_GET['wp_leads_filter_field']) && $_GET['wp_leads_filter_field'] != "") {
         $the_val = $_GET['wp_leads_filter_field'];
         $nice_names = wpl_nice_field_names();
         if (array_key_exists($the_val, $nice_names)) {
             $the_val = $nice_names[$the_val];
         }
         $cols['custom'] = $the_val;
     }
     return $cols;
 }
function wpl_admin_posts_filter_restrict_manage_posts()
{
    global $wpdb;
    $screen = get_current_screen();
    $screen_id = $screen->id;
    if ($screen_id == 'edit-wp-lead') {
        $query = "\n\t\t\t\tSELECT DISTINCT({$wpdb->postmeta}.meta_key)\n\t\t\t\tFROM {$wpdb->posts}\n\t\t\t\tLEFT JOIN {$wpdb->postmeta}\n\t\t\t\tON {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id\n\t\t\t\tWHERE {$wpdb->posts}.post_type = '%s'\n\t\t\t\tAND {$wpdb->postmeta}.meta_key != ''\n\t\t\t\tAND {$wpdb->postmeta}.meta_key NOT RegExp '(^[_0-9].+\$)'\n\t\t\t\tAND {$wpdb->postmeta}.meta_key NOT RegExp '(^[0-9]+\$)'\n\t\t\t";
        $fields = $wpdb->get_col($wpdb->prepare($query, 'wp-lead'));
        //print_r($fields);
        // $fields = $wpdb->get_results($sql, ARRAY_N);
        ?>
				<select name="wp_leads_filter_field" id="lead-meta-filter">
				<option value="" class='lead-meta-empty'><?php 
        _e('Filter By Custom Fields', 'baapf');
        ?>
</option>
				<?php 
        $current = isset($_GET['wp_leads_filter_field']) ? $_GET['wp_leads_filter_field'] : '';
        $current_v = isset($_GET['wp_leads_filter_field_val']) ? $_GET['wp_leads_filter_field_val'] : '';
        $nice_names = wpl_nice_field_names();
        foreach ($fields as $field) {
            //echo $field;
            if (array_key_exists($field, $nice_names)) {
                $label = $nice_names[$field];
                echo "<option value='{$field}' " . selected($current, $field) . ">{$label}</option>";
            }
        }
        ?>
				</select><span class='lead_meta_val'><?php 
        _e('Value:', 'baapf');
        ?>
</span><input type="TEXT" name="wp_leads_filter_field_val" class="lead_meta_val" placeholder="Leave Blank to Search All" value="<?php 
        echo $current_v;
        ?>
" />
				<?php 
    }
}