All pastes #1635665 Raw Edit

WP2.8 - Sort posts in admin by M

public php v1 · immutable
#1635665 ·published 2009-10-21 19:46 UTC
rendered paste body
function wp_admin_meta_dropdown() {	global $wpdb;		$meta_dropdown = '';	$meta_keys = $wpdb->get_col("SELECT DISTINCT meta_key FROM $wpdb->postmeta WHERE SUBSTRING(meta_key,1,1) != '_'" );	if( !empty($meta_keys) ) {		$sortkey = ( isset($_GET['meta_key']) ) ? attribute_escape($_GET['meta_key']) : '';		$meta_dropdown .= '<select name="meta_key" id="meta" class="postform">';		$meta_dropdown .= ($sortkey == ('All' || '')) 			? '<option selected="selected" value="All">View all meta &nbsp;</option>' 			: '<option value="'.$metakey.'">View all meta &nbsp;&nbsp;</option>';		foreach($meta_keys as $key => $metakey) {			$meta_dropdown .= ($sortkey == $metakey) 				? '<option selected="selected" value="'.$metakey.'">'.$metakey.'</option>'				: '<option value="'.$metakey.'">'.$metakey.'</option>';		}		$meta_dropdown .= '</select>';	}	echo $meta_dropdown;	return;	}function admin_pre_filter($query) {	global $pagenow;	if( $query->is_admin && ('edit.php' == $pagenow) ) { 		$metakey = (isset($_GET['meta_key']) && $_GET['meta_key'] !== 'All') ? attribute_escape($_GET['meta_key']) : '';		if('' != $metakey) {			$query->set('orderby','meta_value');			$query->set('order','ASC');			$query->set('meta_key',$metakey);		}	}	return $query;}add_filter('pre_get_posts', 'admin_pre_filter');add_action('restrict_manage_posts', 'wp_admin_meta_dropdown',2);