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

Search within a site for related posts

Resource URL

Type URL and Format
POST https://public-api.wordpress.com/rest/v1/sites/$site/posts/$post/related

Method Parameters

Parameter Type Description
$site (int|string) The site id
$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
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.

Example

cURL

curl \
 -H 'authorization: Bearer YOUR_API_TOKEN' \
 --data-urlencode 'size=5' \
 'https://public-api.wordpress.com/rest/v1/sites/1234/posts/5678/related'

PHP

<?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/1234/posts/5678/related',
  false,
  $context
);
$response = json_decode( $response );

?>

Response Body

{"total":2,"max_score":55.49532,"hits":[{"_score":55.49532,"fields":{"post_id":1491,"blog_id":1234}},{"_score":37.74362,"fields":{"post_id":20,"blog_id":1234}}]}