web-dev-qa-db-ja.com

REST/JSON APIを介してワードプレスデータベースからすべてのユーザーを取得

WP REST AP​​I v2では、ブログに投稿したユーザーのみが取得されるとのことです。私はWordpress登録を使用する必要があるiOSとAndroidのアプリを開発しています。

Wordpressブログに登録されているすべてのユーザーのリストを取得する方法を教えてください。記事を書いたことがない人でも?

3
TimeParadox

StackoverflowユーザーMilapに感謝します。

あなたは彼らが任意の投稿を作成していない場合でも、あなたはすべてのユーザーを得ることができます、あなたはrest-apiプラグインを変更する必要があるということです。

wp-content/plugins/rest-api/lib/endpoints/class-wp-rest-users-controller.phpファイルを開くと、以下のコードが行番号106にあります。

if ( ! current_user_can( 'list_users' ) ) {
    $prepared_args['has_published_posts'] = true;
}

以下に変更してください。

if ( ! current_user_can( 'list_users' ) ) {
    $prepared_args['has_published_posts'] = false;
}

プラグインを修正したくない場合は、以下のコードを現在のテーマのfunctions.phpファイルに追加してください。

add_filter( 'rest_user_query' , 'custom_rest_user_query' );
function custom_rest_user_query( $prepared_args, $request = null ) {
  unset($prepared_args['has_published_posts']);
  return $prepared_args;
}

これで終わりです。

参考:私はAPIファイルを編集することを選択し、それがうまくいった。

2
TimeParadox