display_name ); } } return array( 'components' => array( 'author_select' => array( 'endpoints' => array( 'get' => array( 'action' => 'gf_get_users', 'nonce' => wp_create_nonce( 'gf_get_users' ), ), ), 'data' => $this->get_initial_users( $form_id ), 'form_id' => $form_id, 'selected_value' => $current_author, 'selected_label' => $selected_label, 'strings' => array( 'search_placeholder' => esc_html__( 'Search users...', 'gravityforms' ), 'trigger_placeholder' => esc_html__( 'Select an author', 'gravityforms' ), 'trigger_aria_text' => esc_html__( 'Default Post Author', 'gravityforms' ), 'search_aria_text' => esc_html__( 'Search for users', 'gravityforms' ), ), ), ), ); } /** * Get the initial list of users for the dropdown * * @since 2.9.20 * * @param int $form_id The form ID * @return array */ private function get_initial_users( $form_id ) { $args = array( 'number' => 10, 'fields' => array( 'ID', 'display_name' ), ); // Apply existing filter for backward compatibility $args = gf_apply_filters( array( 'gform_author_dropdown_args', $form_id ), $args ); $users = get_users( $args ); if ( ! is_array( $users ) || empty( $users ) ) { return array(); } $initial_users = array(); foreach ( $users as $user ) { $initial_users[] = array( 'value' => $user->ID, 'label' => esc_html( $user->display_name ), ); } return $initial_users; } }