I was trying to figure out if someone already wrote an REST API endpoint for WordPress Co-Authors plugin. There is wp-api-co-author-plus-endpoints, but it seems that it is focused on guest authors. For my project I needed to include information about co-author users. It turns out it’s very simple to extend existing REST API endpoints.
Here’s a full snippet:
<?php
if ( function_exists('get_coauthors') ) {
add_action( 'rest_api_init', 'custom_register_coauthors' );
function custom_register_coauthors() {
register_rest_field( 'post',
'coauthors',
array(
'get_callback' => 'custom_get_coauthors',
'update_callback' => null,
'schema' => null,
)
);
}
function custom_get_coauthors( $object, $field_name, $request ) {
$coauthors = get_coauthors($object['id']);
$authors = array();
foreach ($coauthors as $author) {
$authors[] = array(
'display_name' => $author->display_name,
'user_nicename' => $author->user_nicename
);
};
return $authors;
}
}
This allows you to query http://wordpress.domain.com/wp-json/wp/v2/posts/213540 and get coauthors key back in response.