BP_REST_XProfile_Fields_Endpoint::get_endpoint_args_for_item_schema( string $method = WP_REST_Server::CREATABLE )
Edit some properties for the CREATABLE & EDITABLE methods.
Description Description
Parameters Parameters
- $method
-
(Optional) HTTP method of the request.
Default value: WP_REST_Server::CREATABLE
Return Return
(array) Endpoint arguments.
Source Source
File: bp-xprofile/classes/class-bp-rest-xprofile-fields-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'; if ( WP_REST_Server::CREATABLE === $method || WP_REST_Server::EDITABLE === $method ) { $args['description']['type'] = 'string'; unset( $args['description']['properties'] ); // Add specific properties to the edit context. $edit_args = array(); // The visibility level chose by the administrator is the default visibility. $edit_args['default_visibility'] = $args['visibility_level']; $edit_args['default_visibility']['description'] = __( 'Default visibility for the profile field.', 'buddypress' ); // Unset the visibility level which can be the user defined visibility. unset( $args['visibility_level'] ); // Add specific properties to the edit context. $edit_args['allow_custom_visibility'] = array( 'context' => array( 'edit' ), 'description' => __( 'Whether to allow members to set the visibility for the profile field data or not.', 'buddypress' ), 'default' => 'allowed', 'type' => 'string', 'enum' => array( 'allowed', 'disabled' ), ); $edit_args['do_autolink'] = array( 'context' => array( 'edit' ), 'description' => __( 'Autolink status for this profile field', 'buddypress' ), 'default' => 'off', 'type' => 'string', 'enum' => array( 'on', 'off' ), ); // Set required params for the CREATABLE method. if ( WP_REST_Server::CREATABLE === $method ) { $key = 'create_item'; $args['group_id']['required'] = true; $args['type']['required'] = true; $args['name']['required'] = true; } elseif ( WP_REST_Server::EDITABLE === $method ) { $key = 'update_item'; $args['can_delete']['default'] = true; $args['order_by']['default'] = 'asc'; $edit_args['default_visibility']['default'] = 'public'; } // Merge arguments. $args = array_merge( $args, $edit_args ); } elseif ( WP_REST_Server::DELETABLE === $method ) { $key = 'delete_item'; } /** * Filters the method query arguments. * * @since 5.0.0 * * @param array $args Query arguments. * @param string $method HTTP method of the request. */ return apply_filters( "bp_rest_xprofile_fields_{$key}_query_arguments", $args, $method ); }
Changelog Changelog
Version | Description |
---|---|
5.0.0 | Introduced. |