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. |