首页 > 解决方案 > wordpress 从其他站点获取用户数

问题描述

我对来自另一个站点的用户计数的可能性有疑问。我工作的公司在我们的主站点 WordPress 上为每个员工都有一个帐户,我们将其显示在我们的人员页面上,使其具有动态性。

我工作的公司也有一个带有员工柜台的特定产品网站,只是它是静态的。

是否可以从我们的主网站获取用户数量并将其显示在我们的产品网站上,使其动态化?

感谢所有的答复!

编辑:认为通过 AJAX 请求可能是可能的,但不知道如何......

@misorude 另一个网站也是 WordPress。使用静态我只意味着员工编号是静态的,并且需要是动态的。这些站点托管在同一提供商处,但位于不同的数据包上。

编辑 2:新问题基本上是这样的:我如何只让客户端与那些 API 调用交互?我不希望这些 API 调用公开,只需在浏览器上输入链接即可调用。

编辑3:

function getUserAmount() {
    $users = get_users();

    if ( empty( $users ) ) {
      return 'There aren\'t any users to display.';
    }
    return count($users);
}

/* Preparing to serve an API request */
add_action( 'rest_api_init', function () {
    register_rest_route( 'myplugin/v2', '/wp/colleagues', 
        array(
            'methods' => 'GET',
            'callback' => 'getUserAmount',
        )
    );
} );

我怎样才能将其公开?如果我登录了,我只能获取数据。

标签: phpwordpressapicustom-wordpress-pageswordpress-rest-api

解决方案


解决了它:我想显示用户数,所以我实现了这个代码:

/* Function custom API ROUTE user count*/
function getUserAmount() {
    $users = get_users(); // Get all wordpress users

    if ( empty( $users ) ) { // If there aren't any users display an error
      return 'There aren\'t any users to display.';
    }
    return count($users); // Return amount of users
}
/* Preparing to serve an API request */
add_action( 'rest_api_init', function () {
    register_rest_route( '/wp/v2', '/users', 
        array(
            'methods' => 'GET',
            'callback' => 'getUserAmount',
        )
    );
} );

接下来我在 Disable REST API 插件中打开了 /wp-json/wp/v2/users。

一开始我尝试使用我自制的url:/wp-json/api/wp/colleagues/,但是这不起作用,因为我无法在插件中打开它,所以它被阻止了。

只需使用常规链接(/wp-json/wp/v2/users)并返回count()而不是正常值,它就起作用了!


推荐阅读