Resource Information
Method
POST
URL
https://public-api.wordpress.com/rest/v1.1/sites/$site/posts/$post/related
Requires authentication?
Yes
Method Parameters
Parameter
Type
Description
$site
(int|string)
Site ID or domain
$post
(int)
The post ID
Query Parameters
Parameter
Type
Description
http_envelope
(bool)
false:
(default)
true:
Some environments (like in-browser Javascript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.
pretty
(bool)
false:
(default)
true:
Output pretty JSON
fields
(string)
Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title
callback
(string)
An optional JSONP callback function.
Request Parameters
Parameter
Type
Description
size
(int)
Number of results to return
filter
(object)
Filter the search. See ElasticSearch filters
Response Parameters
Parameter
Type
Description
results
(array)
The top level "hits" object from the ElasticSearch query response with post_id and blog_id fields of the related items.
Resource Errors
These are the possible errors returned by this endpoint.
HTTP Code
Error Identifier
Error Message
403
unauthorized
User cannot access this private blog.
403
unauthorized
User cannot access this restricted blog
403
Unauthorized
Private sites are not currently accessible for related posts.
Example
curl \
-H 'authorization: Bearer YOUR_API_TOKEN' \
--data-urlencode 'size=5' \
'https://public-api.wordpress.com/rest/v1/sites/82974409/posts/841/related'
<?php
$options = array (
'http' =>
array (
'ignore_errors' => true,
'method' => 'POST',
'header' =>
array (
0 => 'authorization: Bearer YOUR_API_TOKEN',
1 => 'Content-Type: application/x-www-form-urlencoded',
),
'content' =>
http_build_query( array (
'size' => 5,
)),
),
);
$context = stream_context_create( $options );
$response = file_get_contents(
'https://public-api.wordpress.com/rest/v1/sites/82974409/posts/841/related',
false,
$context
);
$response = json_decode( $response );
?>
Response
{
"total": 3,
"max_score": 19.102642,
"hits": [
{
"_score": 19.102642,
"fields": {
"post_id": 843,
"blog_id": 82974409
}
},
{
"_score": 0.45209315,
"fields": {
"post_id": 825,
"blog_id": 82974409
}
},
{
"_score": 0.45209315,
"fields": {
"post_id": 822,
"blog_id": 82974409
}
}
]
}