BP_REST_Messages_Endpoint:: create_item (WP_REST_Request美元的请求

初始化消息线程或向现有线程添加应答。

描述

参数

美元的请求

WP_REST_Request(必需)请求的全部细节。

返回

(WP_REST_Response)| WP_Error

文件:bp-messages /类/ class-bp-rest-messages-endpoint.php

public function create_item($request){//设置上下文。$request->set_param('context', 'edit');if (empty($request['id']) && empty($request['收件人'])){return new WP_Error(' bp_rest_empty_收件人',__('请输入收件人用户id。', 'buddyboss'), array('status' => 400,));} $message_object = $this->prepare_item_for_database($request);//创建消息或回复。$thread_id = messages_new_message($message_object);//验证它创建了一个线程或被添加到它。if (false === $thread_id) {return new WP_Error('bp_rest_messages_create_failed', __('有一个错误试图创建消息。', 'buddyboss'), array('status' => 500,));} global $bp, $wpdb;//如果线程处于隐藏模式,则将其标记为活动线程。 $unread_query = $wpdb->prepare( "UPDATE {$bp->messages->table_name_recipients} SET is_hidden = %d WHERE thread_id = %d AND user_id = %d", 0, $thread_id, $message_object->sender_id ); // phpcs:ignore $wpdb->query( $unread_query ); // phpcs:ignore // Make sure to get the newest message to update REST Additional fields. $thread = $this->get_thread_object( $thread_id ); $last_message = reset( $thread->messages ); $fields_update = $this->update_additional_fields_for_object( $last_message, $request ); if ( is_wp_error( $fields_update ) ) { return $fields_update; } $retval = $this->prepare_response_for_collection( $this->prepare_item_for_response( $thread, $request ) ); $response = rest_ensure_response( $retval ); /** * Fires after a message is created via the REST API. * * @param BP_Messages_Thread $thread Thread object. * @param WP_REST_Response $retval The response data. * @param WP_REST_Request $request The request sent to the API. * * @since 0.1.0 */ do_action( 'bp_rest_messages_create_item', $thread, $response, $request ); return $response; }

更新日志

更新日志
版本 描述
0.1.0 介绍了。

问题吗?

我们总是很乐意帮助您解决代码或其他问题!搜索我们的开发人员文档联络支持,或与我们联系销售团队