从其他站点获取用户数

时间:2018-12-12 14:51:36

标签: php wordpress api custom-wordpress-pages wordpress-rest-api

我对另一个站点的用户计数的可能性有疑问。 我工作的公司在我们的主站点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',
        )
    );
} );

如何将其公开?只有登录后才能获取数据。

1 个答案:

答案 0 :(得分:0)

解决了它: 我想显示用户数,因此实现了以下代码:

/* 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()而不是它的正常值,就可以了!