WP REST API v2.0-beta7以降でmediaへ画像をアップロード : WordPress

Pocket

WP REST API version 2.0-beta7でwp/v2/mediaへ投稿できるようになりました。
(version 2.0-beta6では投稿処理が正常におこなわれませんでした。)

Guzzle6を使い画像を投稿するサンプルです。

<?php
/*
 * WP REST API version 2.0-beta7
 * API base url is http://www.example.com/wp-json
 *
 * Reference
 * https://wordpress.org/support/topic/new-post-with-image
 */
/*
 * OAuth1設定済みのHTTP Client取得します。
 * 例ではGuzzle6を利用することを前提としています。
 */
$client = ...
/*
 * $pathは画像の物理パスが格納されていることを前提としています。
 * 画像の生データを取得。
 */
$handle = fopen($path, 'r');
$fdata  = fread($handle, filesize($path));
/*
 * 画像はmultipart/form-dataでPOSTします。
 */
$response = $client->request(
    'POST',
    'wp/v2/media',
    [
        'multipart' => [
            [
                'name'     => 'file',
                'contents' => $fdata,
                'filename' => basename($path),
            ],

        ],
    ]
)

参考リンク

フォームよるファイルアップロードの仕様 – Jakarta Commons FileUploadの利用手順

Gist

Gist

コメント

No comments yet.

コメントの投稿

改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。