POST /sites/$site/posts/$post/related

Search within a site for related posts.

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' => 
    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
            }
        }
    ]
}