meom/meom-user-query

MEOM用户查询用于REST API调用。

安装: 266

依赖: 0

建议者: 0

安全: 0

星星: 1

关注者: 3

分支: 0

开放问题: 0

类型:wordpress-plugin

0.1.0 2022-03-09 06:52 UTC

This package is auto-updated.

Last update: 2024-09-09 12:28:28 UTC


README

此插件类似于WP_Query Route To REST API,但用于WP User Query

MEOM用户查询为REST API添加了新路由/wp-json/user_query/args/。您可以使用WP_User_Query参数查询用户。

安装

使用Composer安装此包。

composer require meom/meom-user-query

或者如果您喜欢走在前端

composer require meom/meom-user-query:dev-main

返回HTML请求

有时从请求中返回HTML很有用,并使用PHP模板生成标记。

禁用REST查询。

add_filter( 'wp_user_query_to_rest_api_allow_query', '__return_false' );

设置默认数据

/**
 * Modify default data.
 *
 * @param array $data Default data.
 * @return array Modified default data.
 */
function prefix_default_data( $data ) {
    $data = array(
        'html'     => false,
        'messages' => array(
            'empty' => esc_html__( 'No results found.', 'textdomain' ),
        ),
    );

    return $data;
}
add_filter( 'wp_user_query_to_rest_api_default_data', 'prefix_default_data' );

修改查询以返回HTML

/**
 * Modify WP User Query data to return HTML.
 *
 * @param array  $data Data inside loop.
 * @param object $user_query WP User Query.
 * @param array  $args Arguments.
 * @return array Modified data.
 */
function prefix_modify_user_data( $data, $user_query, $args ) {
    if ( ! empty( $user_query->get_results() ) ) {
        $html = '';

        ob_start();

        foreach ( $user_query->get_results() as $user ) {
            // Change this to your needs.
            // In this example we pass user ID to the template and do the markup in there.
            get_template_part( 'partials/user/user-item', null, [ 'author_id' => $user->ID ] );
        }

        $html .= ob_get_clean();

        $data['html'] = $html;

        wp_reset_postdata();
    }

    return $data;
}
add_filter( 'wp_user_query_to_rest_api_after_loop_data', 'prefix_modify_user_data', 10, 3 );