BP_REST_Forums_Endpoint::update_item( WP_REST_Request $request )
Subscribe/Unsubscribe users for the forum.
Description
Parameters
- $request
-
(Required) Full details about the request.
Return
(WP_REST_Response) | WP_Error
Source
File: bp-forums/classes/class-bp-rest-forums-endpoint.php
public function update_item( $request ) {
$forum = get_post( $request['id'] );
$user_id = bbp_get_user_id( 0, true, true );
$success = false;
$action = '';
$is_subscription = bbp_is_user_subscribed( $user_id, $forum->ID );
if ( true === $is_subscription ) {
$success = bbp_remove_user_subscription( $user_id, $forum->ID );
$action = 'unsubscribe';
} elseif ( false === $is_subscription ) {
$success = bbp_add_user_subscription( $user_id, $forum->ID );
$action = 'subscribe';
}
// Do additional subscriptions actions.
do_action( 'bbp_subscriptions_handler', $success, $user_id, $forum->ID, $action );
$retval['update'] = $success;
$retval['data'] = $this->prepare_response_for_collection(
$this->prepare_item_for_response( $forum, $request )
);
$response = rest_ensure_response( $retval );
/**
* Fires after a forum has been updated and fetched via the REST API.
*
* @param array $forum Fetched forum.
* @param WP_REST_Response $response The response data.
* @param WP_REST_Request $request The request sent to the API.
*
* @since 0.1.0
*/
do_action( 'bp_rest_forum_update_item', $forum, $response, $request );
return $response;
}
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.