ID; } } $nicename = sanitize_title( $value ); if ( '' !== $nicename ) { $user = get_user_by( 'slug', $nicename ); if ( $user instanceof \WP_User ) { return (int) $user->ID; } } if ( is_email( $value ) ) { $user = get_user_by( 'email', $value ); if ( $user instanceof \WP_User ) { return (int) $user->ID; } } $nickname_query = new \WP_User_Query( array( // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_key -- Author lookup by nickname meta. 'meta_key' => 'nickname', // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_value -- Author lookup by nickname meta. 'meta_value' => $value, 'number' => 1, 'fields' => 'ID', ) ); $nickname_ids = $nickname_query->get_results(); if ( ! empty( $nickname_ids ) ) { return (int) $nickname_ids[0]; } global $wpdb; // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching $display_id = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM {$wpdb->users} WHERE display_name = %s LIMIT 1", $value ) ); if ( $display_id ) { return (int) $display_id; } $search_query = new \WP_User_Query( array( 'search' => $value, 'search_columns' => array( 'user_login', 'user_nicename', 'display_name' ), 'number' => 1, 'fields' => 'ID', ) ); $search_ids = $search_query->get_results(); if ( ! empty( $search_ids ) ) { return (int) $search_ids[0]; } return 0; } }