J'ai lu que l'API WP REST _ ne récupère que les utilisateurs ayant publié un message pour le blog. Je développe une application iOS et Android qui doit utiliser l'enregistrement Wordpress.
Comment puis-je récupérer une liste de tous les utilisateurs enregistrés sur mon blog Wordpress? Même ceux qui n'ont jamais écrit de post?
Merci à l'utilisateur de stackoverflow Milap!
Vous pouvez obtenir tous les utilisateurs même s'ils n'ont créé aucune publication, pour cela vous devez modifier le plugin rest-api.
Ouvrez le fichier wp-content/plugins/rest-api/lib/endpoints/class-wp-rest-users-controller.php
, vous trouverez ci-dessous le code correspondant à la ligne 106,
if ( ! current_user_can( 'list_users' ) ) {
$prepared_args['has_published_posts'] = true;
}
Changez-le en dessous,
if ( ! current_user_can( 'list_users' ) ) {
$prepared_args['has_published_posts'] = false;
}
Si vous ne voulez pas modifier le plugin, mettez le code ci-dessous dans le fichier functions.php du thème actuel.
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;
}
Vous avez terminé.
Pour votre information: j'ai choisi de modifier le fichier API et cela a fonctionné.