Código para que la búsqueda de WP Admin busque en los campos personalizados (meta)

Sólo tienes que añadirlo a tu plugin de funciones y cambiar el nombre del Post Type.

add_filter( 'posts_join', 'eliasgomez_search_join' );
function eliasgomez_search_join ( $join ) {
    global $pagenow, $wpdb;

    // I want the filter only when performing a search on edit page of Custom Post Type named "tu_post_type".
    if ( is_admin() && 'edit.php' === $pagenow && 'tu_post_type' === $_GET['post_type'] && ! empty( $_GET['s'] ) ) {    
        $join .= 'LEFT JOIN ' . $wpdb->postmeta . ' ON ' . $wpdb->posts . '.ID = ' . $wpdb->postmeta . '.post_id ';
    }
    return $join;
}

add_filter( 'posts_where', 'eliasgomez_search_where' );
function eliasgomez_search_where( $where ) {
    global $pagenow, $wpdb;

    // I want the filter only when performing a search on edit page of Custom Post Type named "tu_post_type".
    if ( is_admin() && 'edit.php' === $pagenow && 'tu_post_type' === $_GET['post_type'] && ! empty( $_GET['s'] ) ) {
        $where = preg_replace(
            "/\(\s*" . $wpdb->posts . ".post_title\s+LIKE\s*(\'[^\']+\')\s*\)/",
            "(" . $wpdb->posts . ".post_title LIKE $1) OR (" . $wpdb->postmeta . ".meta_value LIKE $1)", $where );
    }
    return $where;
}

add_filter( 'posts_groupby', 'eliasgomez_search_group' );
function eliasgomez_search_group($groupby) {
    global $pagenow, $wpdb;
    if ( is_admin() && $pagenow == 'edit.php' && $_GET['post_type']=='tu_post_type' && $_GET['s'] != '' ) {
        $groupby = "$wpdb->posts.ID";
    }
    return $groupby;
}

I have created a custom post type and have attached some custom fields to it. Now I would like to the search that authors can perform on the custom post list screen (in the admin backend) to also be

Origen: Extending the search context in the admin list post screen