以下をfunctions.phpまたはそれに準ずるファイルに記述します。
ex. test_color
というカスタムフィールドの値で絞り込む場合の例です。
add_filter('query_vars', function($vars){ array_push($vars, 'test_color'); return $vars; }); add_action('restrict_manage_posts', function(){ printf( '<input type="text" id="%1$s" name="%1$s" value="%2$s" />', 'test_color', esc_attr(get_query_var('test_color')) ); }); add_filter('posts_where', function( $where ) { global $wpdb; if ( !is_admin() ) return $where; $value = get_query_var('test_color'); if ( !empty($value) ) { $where .= $wpdb->prepare(" AND EXISTS ( SELECT 'x' FROM {$wpdb->postmeta} as m WHERE m.post_id = {$wpdb->posts}.ID AND m.meta_key = 'test_color' AND m.meta_value like %s )", "%{$value}%" ); } return $where; });