Vor kurzem habe ich an einem Projekt gearbeitet, bei dem es u. a. darum ging, automatisiert Beiträge aus der Datenbank eines CMS in ein WordPress-Blog zu übertragen. Aus diversen Gründen wurde dies in Perl realisiert und wegen einiger Anfragen hier die Grundidee: eigentlich ganz einfach via XML-RPC (mit dem Modul XMLRPC::Lite) über die MetaWeblog API, die von WordPress unterstützt wird (und diversen anderen Blogsystemen; deshalb dürfte folgendes Script nicht nur bei WP funktionieren):
#!/usr/bin/perl -w
use strict;
use XMLRPC::Lite;my $wpusername = „mustermann“;
my $wppassword = „meinpasswort“;
my $wpblogid = „meinblog“;
my $blogurl = „http://maxmustermann.wordpress.com/xmlrpc.php“;# Neuer Blogbeitrag
my $articeltext =“Hallo Blog, wie geht’s. Hier steht viel Text!“;
my $articeltitle =“Mein erster Blogbeitrag“;
my $articeldatum =“20100220T12:34:56″;
my $articelkeywords =“Hund, Katze, Maus“;my $rpcall = XMLRPC::Lite
->proxy($blogurl)
->call(‚metaWeblog.newPost‘, $wpblogid, $wpusername, $wppassword,
{ description => $articeltext, title => $articeltitle, dateCreated => $articeldatum, mt_keywords => $articelkeywords}, 1)
->result;if (defined ($rpcall)) {
print „Erfolgreich – Artikel-ID: $rpcall nn“;
} else {
print „Fehler: $!“;
}
print „nn“;
Bei WordPress ist wichtig ist, auf die korrekte Form des Datums zu achten. Probleme hatte ich, bereits an dieser Stelle eine Kategorie für den Artikel festzulegen – mehr dazu in Kürze.