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对象)。

默认值:数组()

返回

(数组)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 介绍了。

问题吗?

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