BP_Invitation: get (数组args美元=数组())
根据提供的过滤参数获取邀请。
描述
参数
- args美元
-
(数组)(可选)参数的关联数组。除了$page和$per_page之外的所有参数都可以作为get_where_sql()和get_query_clause()的过滤值。所有项目都是可选的。
- “id”
(int |数组)邀请ID正在更新。可以是一个id数组。 - “user_id”
(int |数组)待查询用户ID。可以是一个id数组。 - “inviter_id”
(int |数组)创建邀请的用户ID。可以是一个id数组。 - “invitee_email”
(字符串|数组)查询被邀请用户的邮箱地址。可以是地址数组。 - “类”
(字符串|数组)要进行筛选的类的名称。可以是类名数组。 - “item_id”
(int |数组)关联项ID。可以是多个项目id的数组。 - “secondary_item_id”
(int |数组)次要关联项ID。可以是多个id的数组。 - “类型”
(字符串|数组)类型的项。“邀请”是从一个用户发送到另一个用户。一个“请求”是由用户提交的,不需要邀请者。“所有的回报。默认值:“所有”。 - “invite_sent”
(字符串)“draft”限制未发送的邀请,“sent”只返回已发送的邀请,“all”返回全部。默认值:“所有”。 - “接受”
(保龄球)仅限于接受或未接受的邀请。'accepted'返回接受的邀请,'pending'返回等待的邀请,'all'返回所有。默认值:“等待” - “search_term”
(字符串)术语与类字段匹配。 - “order_by”
(字符串)数据库列按顺序排列。 - “sort_order”
(字符串)'ASC'或'DESC'。 - “order_by”
(字符串)字段命令结果。 - “sort_order”
(字符串)ASC或DESC。 - “页面”
(int)结果当前页的编号。默认值:false(没有分页,所有项)。 - “per_page”
(int)每页显示的项目数量。默认值:false(没有分页,所有项)。 - “字段”
(字符串)返回哪些字段。指定'item_ids'获取item_id列表。指定'ids'以获取邀请id列表。默认值:“所有”(回报BP_Invitation对象)。
默认值:数组()
- “id”
返回
(数组)BP_Invitation|找到的邀请的id。
源
文件:bp-core /类/ class-bp-invitation.php
Public static function get($args = array()) {global $wpdb;$ invites_table_name = BP_Invitation_Manager: get_table_name ();/ /解析参数$ r = bp_parse_args (args美元,阵列(“id”= > false, user_id = > false, inviter_id = > false, invitee_email = > false,“类”= > false, item_id = > false, secondary_item_id = > false, '类型' = > '所有',' invite_sent ' = > '所有','接受' = > '等待',' search_term ' => '', ' order_by = > false, sort_order ' = >假,'page' => false, 'per_page' => false, 'fields' => 'all',), 'bp_invitations_invitation_get');$ sql =阵列(“选择”= >“选择”的字段 ' => '', ' 从“= >”从{$ invites_table_name}我”,“在哪里 ' => '', ' orderby ' => '', ' 分页 ' => '', );如果(item_id = = = $ r(“字段”)){$ sql(“字段”)=“不同i.item_id”;} else if (' user_id ' = = = $ r(“字段”)){$ sql(“字段”)=“不同i.user_id”;} else if ('inviter_ids' === $r['fields']) {$sql['fields'] = "DISTINCT i.inviter_id";} else {$sql['fields'] = 'DISTINCT .id';} / / $ sql [', '] = self:: get_where_sql(数组(“id”= > $ r(“id”),“user_id”= > $ r ' user_id ', ' inviter_id ' = > $ r ' inviter_id ', ' invitee_email ' = > $ r(“invitee_email”),“类”= > $ r(类的),“item_id”= > $ r ' item_id ', ' secondary_item_id ' = > $ r ' secondary_item_id ', '类型' = > $ r '类型',' invite_sent ' = > $ r(“invite_sent”), 'accepted' => $r['accepted'], 'search_terms' => $r['search_terms'], ) ); // ORDER BY $sql['orderby'] = self::get_order_by_sql( array( 'order_by' => $r['order_by'], 'sort_order' => $r['sort_order'] ) ); // LIMIT %d, %d $sql['pagination'] = self::get_paged_sql( array( 'page' => $r['page'], 'per_page' => $r['per_page'], ) ); $paged_invites_sql = "{$sql['select']} {$sql['fields']} {$sql['from']} {$sql['where']} {$sql['orderby']} {$sql['pagination']}"; /** * Filters the pagination SQL statement. * * @since BuddyBoss 1.3.5 * * @param string $value Concatenated SQL statement. * @param array $sql Array of SQL parts before concatenation. * @param array $r Array of parsed arguments for the get method. */ $paged_invites_sql = apply_filters( 'bp_invitations_get_paged_invitations_sql', $paged_invites_sql, $sql, $r ); $cached = bp_core_get_incremented_cache( $paged_invites_sql, 'bp_invitations' ); if ( false === $cached ) { $paged_invite_ids = $wpdb->get_col( $paged_invites_sql ); bp_core_set_incremented_cache( $paged_invites_sql, 'bp_invitations', $paged_invite_ids ); } else { $paged_invite_ids = $cached; } // Special return format cases. if ( in_array( $r['fields'], array( 'ids', 'item_ids', 'user_ids', 'inviter_ids' ), true ) ) { // We only want the field that was found. return array_map( 'intval', $paged_invite_ids ); } $uncached_ids = bp_get_non_cached_ids( $paged_invite_ids, 'bp_invitations' ); if ( $uncached_ids ) { $ids_sql = implode( ',', array_map( 'intval', $uncached_ids ) ); $data_objects = $wpdb->get_results( "SELECT i.* FROM {$invites_table_name} i WHERE i.id IN ({$ids_sql})" ); foreach ( $data_objects as $data_object ) { wp_cache_set( $data_object->id, $data_object, 'bp_invitations' ); } } $paged_invites = array(); foreach ( $paged_invite_ids as $paged_invite_id ) { $paged_invites[] = new BP_Invitation( $paged_invite_id ); } return $paged_invites; }
更新日志
版本 | 描述 |
---|---|
BuddyBoss 1.3.5 | 介绍了。 |