Adding featured image in wordpress.com via api

admin

Administrator
Staff member
I want to add new post with featured image, but firstly add image to a post.

Code:
function add_post($access_key,$blogid,$title,$content,$categories_array,$tags_array,$featuredimage)
    {
    $options  = array (
      'http' => 
      array (
        'ignore_errors' => true,
        'method' => 'POST',
        'header' => 
        array (
          0 => 'authorization: Bearer '.$access_key,
          1 => 'Content-Type: multipart/form-data',
        ),
        'content' => http_build_query(   
          array (
            'title' => $title,
            'content' => $content,
            'tags' => $tags_array,
            'categories' => $categories_array,
            'media'=>$featuredimage,///array($featuredimage),//jak nie zadziala to zapakowac w array
            'media[]'=>$featuredimage//array($featuredimage)
          )
        ),
      ),
    );

    $context  = stream_context_create( $options );
    $response = file_get_contents(
      "https://public-api.wordpress.com/rest/v1/sites/{$blogid}/posts/new/",
      false,
      $context
    );
    $response = json_decode( $response );
    return $response;
    }

function body was copied from examples and works fine except adding media

Code:
add_post($_GET['token'],$blog_id,"tytul","tresc",array("cat1"),array("tagt1","tag2"), "http://icons.iconarchive.com/icons/iconka/meow/256/cat-walk-icon.png");

add posts without adding image

in documentation<br>
<a href="http://developer.wordpress.com/docs/api/1/post/sites/" rel="nofollow">http://developer.wordpress.com/docs/api/1/post/sites/</a>$site/posts/new/
I found only code for add media from console

Code:
curl \
--form 'title=Image' \
--form 'media[][email protected]/path/to/file.jpg' \
-H 'Authorization: BEARER your-token' \
'https://public-api.wordpress.com/rest/v1/sites/123/posts/new'

and mention about form content-type

<blockquote>
"(...)To upload media, the entire request should be
multipart/form-data"
</blockquote>

but when I changed "application/x-www-form-urlencoded" to "multipart/form-data"
...and nothing changed