/** * 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 } }