Einfügen in eine andere database

Ich habe ein benutzerdefiniertes Skript entwickelt, das wp_insert_post , um neue Posts zu erstellen, jedoch möchte ich ähnlichen Code verwenden, um dieselben Daten in einer anderen wp-database zu erstellen. Könnte dies vor dem Einlegen im Handumdrehen erledigt werden? Zum Beispiel WordPress anweisen, auf eine andere database zu zeigen und dann Daten einzufügen? Oder sollte ich das “manuell” mit rohen mySQL-Code tun?

Solutions Collecting From Web of "Einfügen in eine andere database"

Sie könnten SQL vollständig vermeiden und die XML-RPC-API verwenden. Dies würde Sie auch auf Remote-Wordpress-Installationen veröffentlichen lassen.

(Beachten Sie, wenn XML-RPC keine Option ist, blättern Sie weiter nach unten)

Wenn Sie XML-RPC verwenden

Hier ist ein Code aus einer schnellen Google-Suche, die XML-RPC zum Posten in einem WordPress-Remote-Blog verwendet:

http://en.forums.wordpress.com/topic/great-code-for-remote-posting?replies=5

Hier finden Sie eine einfachere Reihe von Beispielen mit einer Erläuterung der XML-RPC-APIs

http://life.mysiteonline.org/archives/161-Automatic-Post-Creation-with-Wordpress,-PHP,-and-XML-RPC.html

Und hier ein Beispiel aus WP-Rezepten mit Curl und XML-RPC:

http://www.wrecipes.com/post-on-your-wordpress-blog-using-php

 function wpPostXMLRPC($title,$body,$rpcurl,$username,$password,$category,$keywords='',$encoding='UTF-8') { $title = htmlentities($title,ENT_NOQUOTES,$encoding); $keywords = htmlentities($keywords,ENT_NOQUOTES,$encoding); $content = array( 'title'=>$title, 'description'=>$body, 'mt_allow_comments'=>0, // 1 to allow comments 'mt_allow_pings'=>0, // 1 to allow trackbacks 'post_type'=>'post', 'mt_keywords'=>$keywords, 'categories'=>array($category) ); $params = array(0,$username,$password,$content,true); $request = xmlrpc_encode_request('metaWeblog.newPost',$params); $ch = curl_init(); curl_setopt($ch, CURLOPT_POSTFIELDS, $request); curl_setopt($ch, CURLOPT_URL, $rpcurl); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 1); $results = curl_exec($ch); curl_close($ch); return $results; ?> 

Wenn XML-RPC nicht für Sie geeignet ist

Vielleicht eine WordPress Multisite könnte für Sie am besten sein? Das Erstellen des neuen switch_to_blog($blog_id); wäre so einfach wie das Aufrufen von switch_to_blog($blog_id); dann restore_current_blog(); Ihr Geschäft, indem Sie den neuen Post erstellen, bevor Sie restore_current_blog(); aufrufen restore_current_blog();

Wenn Sie SQL verwenden müssen

Verwenden Sie diese Frage, die mit mike23 verknüpft ist, um Zugriff über ein wpdb-Objekt zu erhalten