Bricks 中文文档:bricks/combined_search/user_ids

📎 原始资料  |  下载原始 JSON 文件 (bricks-combined_search-user_ids.json) 前言 筛选由组合搜索逻辑(用于针对用户的 AJAX 搜索筛选器)返回的用户 ID 列表。允许你在初始搜索查询运行后,从搜索结果中包含或排除用户。 用法 将代码加入子主题的 functions.php: add_filter( ‘bricks/combined_search/user_ids’, function( $user_ids, $user_fields, $meta_fields, $search_term, $filter_id, $que…

前言

筛选由组合搜索逻辑(用于针对用户的 AJAX 搜索筛选器)返回的用户 ID 列表。允许你在初始搜索查询运行后,从搜索结果中包含或排除用户。

用法

将代码加入子主题的 functions.php

add_filter( 'bricks/combined_search/user_ids', function( $user_ids, $user_fields, $meta_fields, $search_term, $filter_id, $query_id ) {
    // Example: Exclude administrator (ID: 1) from search results
    if ( ( $key = array_search( 1, $user_ids ) ) !== false ) {
        unset( $user_ids[ $key ] );
    }


    return $user_ids;
}, 10, 6 );

参数

  • $user_ids (array):已找到的用户 ID 数组。
  • $user_fields (array):正在被搜索的用户字段数组(例如 [‘display_name’, ‘user_email’])。
  • $meta_fields (array):正在被搜索的 meta key 数组。
  • $search_term (string):用户输入的搜索词。
  • $filter_id (string):发起搜索的筛选元素的 ID。
  • $query_id (string):正在被筛选的查询循环的 ID。

示例代码

筛选返回值

add_filter( 'bricks/combined_search/user_ids', function( $user_ids, $user_fields, $meta_fields, $search_term, $filter_id, $query_id ) {
    // Example: Exclude administrator (ID: 1) from search results
    if ( ( $key = array_search( 1, $user_ids ) ) !== false ) {
        unset( $user_ids[ $key ] );
    }


    return $user_ids;
}, 10, 6 );

根据条件短路返回原值

根据条件跳过或修改返回值:

add_filter( 'bricks/combined_search/user_ids', function( $value, $user_ids ) {
    if ( is_admin() ) { return $value; }
    // TODO: custom logic here
    return $value;
} );

补充说明

更多细节可参考 官方文档