Ich habe Probleme beim Hochladen von Medien auf eine WordPress-Site mit der JSON REST-API.
Mit dem folgenden Code kann ich die Fotos hochladen, aber ihnen werden keine Informationen zugewiesen, nicht einmal der Name - tatsächlich wird der Name automatisch zur URL und zum Dateinamen (ohne die Erweiterung).
$username = "ZX";
$password = "ZX";
$host = 'http://ZX.com/wp-json/wp/v2/media';
$data = json_encode($data);
$file = '/Users/xx.png';
$imagedata = file_get_contents($file);
$process = curl_init($host);
curl_setopt($process, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($process, CURLOPT_BINARYTRANSFER, TRUE);
curl_setopt($process, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($process, CURLOPT_TIMEOUT, 50);
curl_setopt($process, CURLOPT_USERPWD, $username . ":" . $password);
curl_setopt($process, CURLOPT_POSTFIELDS, $data);
curl_setopt($process, CURLOPT_HTTPHEADER, array('Content-Type:image/png','Content-Disposition:attachment;filename='.$file));
$return = curl_exec($process);
print_r($return);
Wie würde ich den Uploads Daten wie die folgenden zuweisen?
$data = array(
"status" => "draft",
"title" => "Photo media",
"description" => "Photo media1",
"media_type" => "image",
"alt_text" => "alternate text"
);
media
Objekte hochladen kann, daher kann man sich auf WP-Funktionen konzentrieren.