Eigentlich habe ich keine Probleme, Beiträge zu bekommen. Ich muss Posts mit der REST API in PHP mit file_get_contents
erstellen.
Das ist mein Code:
json_decode(
file_get_contents(
"http://my-site.com/wp-json/wp/v2/posts",
false,
stream_context_create(
array(
"http" => array(
"header" => "Content-type: text/json\r\n",
"method" => "POST",
"content" => json_encode(
array(
"slug" => "article-2",
"title" => "Article 2",
"content" => "Created with rest api",
)
)
),
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false
)
)
)
),
true
);
Und ich bekomme diesen Fehler: failed to open stream: HTTP request failed! HTTP/1.0 401 Unauthorized
Also habe ich versucht, eine Authentifizierung mit echtem WP-Benutzernamen und Passwort durchzuführen:
"http" => array(
"header" => "Content-type: text/json\r\n"."Authorization: Basic " . base64_encode("$username:$password"),
"method" => "POST",
"content" => json_encode(
array(
"slug" => "article-2",
"title" => "Article 2",
"content" => "Created with rest api",
)
)
)
Aber das gleiche Ergebnis.
Wie kann ich einen Beitrag mit der REST API von PHP mit file_get_contents
einfügen?
Sie müssen ein Plugin installieren, um die Authentifizierung hinzuzufügen. Standardmäßig sind ein Cookie und ein Nonce-Token erforderlich. Für CLI-Apps oder PHP -Anfragen möchten Sie jedoch ein grundlegendes Auth-Plugin installieren oder OAuth1 verwenden/2