通过php写wordpress博客

前言

vim,emacs什么的都有写wordpress的插件。
这篇就提供php版本的发博客的代码。

关键代码

require 'config.inc.php';
require 'common.inc.php';
require 'lib/Readability.inc.php';
require 'lib/class-IXR.php';
require 'lib/plugin.php';
require 'lib/xmlrpc.inc';

$xmlrpcurl='http://go2live.cn/xmlrpc.php';//请填入你自己的博客地址。

$blogid='1';
$username='xxxx';//请填入你的wordpress的用户名
$password='xxxxx';//请填入你的Wordpress的密码

$postTitle='博客标题';//要发布的博客的标题
$postContent='博客内容';//要发布的博客的内容

//$GLOBALS['xmlrpc_internalencoding'] = 'UTF-8';
define ('DOMAIN', 'go2live.cn'); // 博客的域名,请填入你自己的博客的域名
// 创建 xml-rpc client 
$cl = new xmlrpc_client ( "/xmlrpc.php", DOMAIN, 80); 
// 准备请求 
$req = new xmlrpcmsg('metaWeblog.newPost'); 
// 逐个列出请求的参数: 
$req->addParam ( new xmlrpcval ( 1, 'int')); // 博客ID 
$req->addParam ( new xmlrpcval ( $username, 'string' )); // 用户名 
$req->addParam ( new xmlrpcval ( $password, 'string' )); // 密码 
$struct = new xmlrpcval (
    array ( "title" => new xmlrpcval ( $postTitle, 'string' ), // 标题 
    "description" => new xmlrpcval ($postContent , 'string'), // 内容
    "author"=> new xmlrpcval("bjmayor","string"),//作者,可不填
    "post_type"=>new xmlrpcval("post",'string'),//发布类型,是页面还是博客。post为博客
    "post_status"=>new xmlrpcval("publish",'string'),//发布状态,
    "dateCreated"=>new xmlrpcval(strtotime("2015-12-12 09:23:22"),"dateTime.iso8601"),//发布时间,可不填,默认为当前时间。
    "categories"=>new xmlrpcval(array(new xmlrpcval("美文赏析","string")),"array")//分类信息,分类信息是需要已经存在的分类。
),
"struct" );
$req->addParam ( $struct ); 
$req->addParam ( new xmlrpcval (1, 'int')); // 立即发布
// 发送请求 
$ans = $cl->send($req); 
var_dump ( $ans );

参考

MetaWeblog API中文说明
demo代码下载

Tags:,
15 Comments