【问题标题】:wordpress Get user count from other sitewordpress 从其他站点获取用户数
【发布时间】:2019-05-13 17:06:27
【问题描述】:

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

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

【问题讨论】:

  • 所以这个其他网站不是 WordPress,而只是静态的?它们是托管在同一台服务器上,还是完全不同的机器上?根据具体情况,可以通过嵌入 WordPress 的 wp-load.php 来使用 WP 功能,也可以直接查询相关的数据库表。
  • 您可以通过 AJAX 请求轻松获取用户列表。网址只是{yourWordpressDomain}/wp-json/wp/v2/users
  • @maiorano84 我安装了禁用 REST API 插件。如何确保其他站点可以访问?有可能吗
  • 新的问题基本上是这样的:如何只让客户端与那些 API 调用交互?我不希望这些 API 调用公开,只需在浏览器上输入链接即可调用。
  • 取决于你想在其他网站上做多少工作。你能用开箱即用的特定插件做你想做的事吗?不容易。您要么必须禁用插件并使用自己的过滤器来劫持未经身份验证的请求(天真的检查将只允许来自产品网站的请求)。否则,您可以只显示用户数和您可能需要的其他元信息的 roll your own endpoint

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-01
    • 2014-04-16
    • 2013-01-10
    • 2015-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多