BP_REST_Members_Endpoint::get_endpoint_args_for_item_schema( string $method = WP_REST_Server::CREATABLE )
Make sure to retrieve the needed arguments for the endpoint CREATABLE method.
Description
Parameters
- $method
-
(Optional) HTTP method of the request.
Default value: WP_REST_Server::CREATABLE
Return
(array) Endpoint arguments.
Source
File: bp-members/classes/class-bp-rest-members-endpoint.php
public function get_endpoint_args_for_item_schema( $method = WP_REST_Server::CREATABLE ) { $args = WP_REST_Controller::get_endpoint_args_for_item_schema( $method ); $key = 'get_item'; // Add member type args. $member_type_args = array( 'description' => __( 'Set type(s) for a member.', 'buddyboss' ), 'type' => 'string', 'enum' => bp_get_member_types(), 'context' => array( 'edit' ), 'sanitize_callback' => 'bp_rest_sanitize_member_types', 'validate_callback' => 'bp_rest_sanitize_member_types', ); if ( WP_REST_Server::CREATABLE === $method ) { $key = 'create_item'; // We don't need the mention name to create a user. unset( $args['mention_name'] ); // Add member type args. $args['types'] = $member_type_args; // But we absolutely need the email. $args['email'] = array( 'description' => __( 'The email address for the member.', 'buddyboss' ), 'type' => 'string', 'format' => 'email', 'context' => array( 'edit' ), 'required' => true, ); } elseif ( WP_REST_Server::EDITABLE === $method ) { $key = 'update_item'; /** * 1. The mention name or user login are not updatable. * 2. The password belongs to the Settings endpoint parameter. */ unset( $args['mention_name'], $args['user_login'], $args['password'] ); // Add member type args. $args['types'] = $member_type_args; } elseif ( WP_REST_Server::DELETABLE === $method ) { $key = 'delete_item'; } /** * Filters the method query arguments. * * @param array $args Query arguments. * @param string $method HTTP method of the request. * * @since 0.1.0 */ return apply_filters( "bp_rest_members_{$key}_query_arguments", $args, $method ); }
Changelog
Version | Description |
---|---|
0.1.0 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.