Bp_Search_Albums:: sql (字符串search_term美元only_totalrow_count美元

为相册搜索准备SQL查询。

描述

参数

search_term美元

字符串(必需)搜索条件。

only_totalrow_count美元

(可选)行总数。

默认值:假

返回

(混合|空白)

文件:bp-search /类/ class-bp-search-albums.php

Public function sql($search_term, $only_totalrow_count = false) {global $wpdb, $bp;数组$ query_placeholder = ();数组$ user_groups = ();if (bp_is_active('groups')){//获取公共组。$public_groups = group_get_groups (array('fields' => 'ids', 'status' => 'public', 'per_page' => - 1,));如果(!$public_groups = $public_groups['groups']; / / public groups = $public_groups['groups']} else {$public_groups = array();} $user_groups = array();If (is_user_logged_in()) {$groups = group_get_user_groups (bp_loggedin_user_id()); if ( ! empty( $groups['groups'] ) ) { $user_groups = $groups['groups']; } else { $user_groups = array(); } } $user_groups = array_unique( array_merge( $user_groups, $public_groups ) ); } $friends = array(); if ( bp_is_active( 'friends' ) && is_user_logged_in() ) { // Determine friends of user. $friends = friends_get_friend_user_ids( bp_loggedin_user_id() ); if ( empty( $friends ) ) { $friends = array( 0 ); } array_push( $friends, bp_loggedin_user_id() ); } $sql = ' SELECT '; if ( $only_totalrow_count ) { $sql .= ' COUNT( DISTINCT ma.id ) '; } else { $sql .= $wpdb->prepare( " DISTINCT ma.id, 'albums' as type, ma.title LIKE %s AS relevance, ma.date_created as entry_date ", '%' . $wpdb->esc_like( $search_term ) . '%' ); } $sql .= " FROM {$bp->media->table_name_albums} ma WHERE"; $privacy = array( 'public' ); if ( is_user_logged_in() ) { $privacy[] = 'loggedin'; } $sql .= $wpdb->prepare( " ( ( ma.title LIKE %s ) AND ( ( ma.privacy IN ( '" . implode( "','", $privacy ) . "' ) ) " . // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared ( isset( $user_groups ) && ! empty( $user_groups ) ? " OR ( ma.group_id IN ( '" . implode( "','", $user_groups ) . "' ) AND ma.privacy = 'grouponly' )" : '' ) . // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.PreparedSQLPlaceholders.QuotedDynamicPlaceholderGeneration ( bp_is_active( 'friends' ) && ! empty( $friends ) ? " OR ( ma.user_id IN ( '" . implode( "','", $friends ) . "' ) AND ma.privacy = 'friends' )" : '' ) . // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.PreparedSQLPlaceholders.QuotedDynamicPlaceholderGeneration ( is_user_logged_in() ? " OR ( ma.user_id = '" . bp_loggedin_user_id() . "' AND ma.privacy = 'onlyme' )" : '' ) . // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared ') )', '%' . $wpdb->esc_like( $search_term ) . '%' ); return apply_filters( 'bp_search_albums_sql', $sql, array( 'search_term' => $search_term, 'only_totalrow_count' => $only_totalrow_count, ) ); }

问题吗?

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