XML-RPC Schnittstelle bei Wordpress
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
aktivieren
array
artikel
beispiel
code
dank
fehler
fremder domain
hilfe
http
post
schnittstelle
server
string
suche
syntax
tag
test
tip
url
-
Guten Tag
Ich suche eine Möglichkeit Artikel auf einem WP Blog zu veröffentlichen und dies mit einer PHP Seite die auf einem anderen Server liegt. Nun würde mich interessieren ob dies überhaupt möglich ist und eventuell einen Code Beispiel wie ich das ganze bewerkstelligen könnte.
Freundliche Grüsse
Meik6 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
meik6 schrieb:
Guten Tag
Ich suche eine Möglichkeit Artikel auf einem WP Blog zu veröffentlichen und dies mit einer PHP Seite die auf einem anderen Server liegt. Nun würde mich interessieren ob dies überhaupt möglich ist und eventuell einen Code Beispiel wie ich das ganze bewerkstelligen könnte.
Freundliche Grüsse
Meik6
Ja mit file_get_contents().
Beispiele
Mfg,
timebandit -
Ich denke, Du brauchst eher dieses hier: http://www.wprecipes.com/post-on-your-wordpress-blog-using-php
-
meik6 schrieb:
Du hast vermutlich ein schließendes
Danke für die Hilfe. Jedoch bekomme ich immer diesen Fehler:
Parse error: syntax error, unexpected $end
vergessen…}
-
Danke es war es wirklich. Jedoch habe ich schon den nächsten Fehler erhalten:
Fatal error: Call to undefined function xmlrpc_encode_request()
Währe echt dankbar für einen Tipp. -
Eventuell hilft dir das.
-
Danke
Jedoch ist mir immer noch nicht ganz klar wie ich es machen sollte.
Gruss Meik6 -
Hallo
wie Du in Deinem Titel schonschreibst ... das geht mit der XML-RPC Schnittstelle bei Wordpress
zum Erstellen neuer Beiträge in Wordpress von fremder Domain aus ist XML-RPC_MetaWeblog_API evtl. besser als die XML-RPC WordPress API
weil du damit (einfacher) den neuen Beitrag in bestimmte Category veröffentlichen kannst.
Auf der fremden Domain brauchst Du eine XML-RPC Library
.... dazu kannst die Datei aus WP nehmen: wp-includes/class-IXR.php
Verbindung zwischen fremder Domain und Wordpress dann so
include("class-IXR.php"); $client = new IXR_Client('http://deine_domain_mit_wordpress.tld/xmlrpc.php');
dann kannst Du die XML-RPC Methoden anwenden ... wie z..B. metaWeblog.newPost)
... dort kannst Du auch die genauen Parameter nachlesen ... was man übergeben kann.
Beispiel:
// ------------------------------------------------------------- $blog_id = 0; $blog_user = 'Dein_Admin_Username'; $blog_pass = 'Dein_Passwort'; $publish = true; // ------------------------------------------------------------- $content = array(); $content['title'] = 'Hallo Welt'; // --- (string) ... Überschrift $content['description'] = 'Test <br/> Test'; // --- (string) ... der Inhalt (X)HTML $content['post_type'] = 'post'; // --- (string) ... 'post' oder 'page' $content['dateCreated'] = '2013-03-05 14:58:22'; // --- (datetime) ... 'Y-m-d H:i:s' ## $content['date_created_gmt'] = ''; // --- (datetime) ... 'Y-m-d H:i:s' $content['categories'] = array( // --- (array) ... Kategorie(n) 'Allgemein', 'Sonstiges' ); $content['mt_keywords'] = array( // --- (array) ... Tags / Keywords 'Neu', 'Super', 'hilfreich', ); ## $content['mt_excerpt'] = ''; // --- (string) ... Auszug / Kurz-Text ## $content['mt_text_more'] = ''; // --- (string) ... Post 'Read more' text. $content['mt_allow_comments'] = 'open'; // --- (string) ... comments 'open' oder 'closed' $content['mt_allow_pings'] = 'closed'; // --- (string) ... pingback 'open' oder 'closed' ## $content['wp_slug'] = ''; ## $content['wp_password'] = ''; ## $content['wp_author_id'] = ''; ## $content['wp_author_display_name'] = ''; $content['post_status'] = 'publish'; // --- siehe: http://codex.wordpress.org/Post_Status_Transitions ## $content['wp_post_format'] = ''; // --- ??? ## $content['custom_fields'] = ''; // --- (array) ... struct = id, key, value $content['sticky'] = false; // --- (bool) ... TRUE oder FALSE $content['publish'] = true; // --- (bool) ... TRUE oder FALSE // ------------------------------------------------------------- if (!$client->query('metaWeblog.newPost', $blog_id, $blog_user, $blog_pass, $content, $publish)) { die('Something went wrong – '.$client->getErrorCode().' : '.$client->getErrorMessage()); } else { print "<pre>\n"; print_r($client->getResponse()); print "</pre>\n"; } // -------------------------------------------------------------
nicht getestet ... siehe auch: Post-Creation-with-Wordpress,-PHP,-and-XML-RPCl
... oder googeln nach wordpress remote publishing php
da gibt es sicher auch noch andere Beispiele
Beitrag zuletzt geändert: 5.3.2013 15:07:14 von webmag -
@webmag
Danke dir viel Mal. Endlich komme ich einen Schritt weiter. Habe die Userdatenfelder ausgefüllt und die class-IXR.php auf den Server hochgeladen. Jedoch ist habe ich mein Ziel immer noch nicht erreicht. Wenn ich das PHP Skript jetzt öffne erhalte ich einen neuen Fehler:
Something went wrong – -32300 : transport error - HTTP status code was not 200
Was könnte das bedeuten? Muss ich auf meinen WP Blog erst noch etwas aktivieren damit ich diese Schnittstelle verwenden kann?
Gruss Meik6
-
Hallo
die XML-RPC Schnittstelle ist seit WordPress 3.5. eigentlich immer an (standard)
bei älteren Versionen muss Du diese selber aktivieren (Häckchen setzen)
in .... WP-Admin ..... Einstellungen ..... Schreiben .... XML-RPC aktivieren
-
Ist ok. Also muss der Fehler irrgendwo anderst liegen.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage