Codifiqué un complemento solo para eso y nunca pude publicarlo:

Uso:
Enelmenúdesplegabletieneunalistadetodosloscampospersonalizados,asíquesoloseleccioneelcampoporelquedeseafiltraryhagaclicenfiltrar.Sideseafiltraraunvalorespecíficodeuncampopersonalizado,seleccioneelnombredelcampo,ingreseelvalorquedeseeyhagaclicenfiltrar.
<?php/*PluginName:AdminFilterBYCustomFieldsPluginURI:http://en.bainternet.infoDescription:Filterpostsorpagesinadminbycustomfields(postmeta)Version:1.0Author:BainternetAuthorURI:http://en.bainternet.info*/add_filter('parse_query','ba_admin_posts_filter');add_action('restrict_manage_posts','ba_admin_posts_filter_restrict_manage_posts');functionba_admin_posts_filter($query){global$pagenow;if(is_admin()&&$pagenow=='edit.php'&&isset($_GET['ADMIN_FILTER_FIELD_NAME'])&&$_GET['ADMIN_FILTER_FIELD_NAME']!=''){$query->query_vars['meta_key']=$_GET['ADMIN_FILTER_FIELD_NAME'];if(isset($_GET['ADMIN_FILTER_FIELD_VALUE'])&&$_GET['ADMIN_FILTER_FIELD_VALUE']!='')$query->query_vars['meta_value']=$_GET['ADMIN_FILTER_FIELD_VALUE'];}}functionba_admin_posts_filter_restrict_manage_posts(){global$wpdb;$sql='SELECTDISTINCTmeta_keyFROM'.$wpdb->postmeta.'ORDERBY1';$fields=$wpdb->get_results($sql,ARRAY_N);?><selectname="ADMIN_FILTER_FIELD_NAME">
<option value=""><?php _e('Filter By Custom Fields', 'baapf'); ?></option>
<?php
$current = isset($_GET['ADMIN_FILTER_FIELD_NAME'])? $_GET['ADMIN_FILTER_FIELD_NAME']:'';
$current_v = isset($_GET['ADMIN_FILTER_FIELD_VALUE'])? $_GET['ADMIN_FILTER_FIELD_VALUE']:'';
foreach ($fields as $field) {
if (substr($field[0],0,1) != "_"){
printf
(
'<option value="%s"%s>%s</option>',
$field[0],
$field[0] == $current? ' selected="selected"':'',
$field[0]
);
}
}
?>
</select> <?php _e('Value:', 'baapf'); ?><input type="TEXT" name="ADMIN_FILTER_FIELD_VALUE" value="<?php echo $current_v; ?>" />
<?php
}