我想使用xml-rpc和curl或任何替代方法在Wordpress网站中添加帖子而无需登录WP管理员。这可能吗?
答案 0 :(得分:1)
我得到了答案,以下代码对我有用。
function wpPostXMLRPC ($title,$body,$rpcurl,$username,$password,$category='Uncategorized',$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,
'mt_allow_pings'=>0,
'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;
}
$title = 'post-title';
$body = 'POST BODY WILL GOES HERE';
$rpcurl = 'http://example.com/xmlrpc.php';
$username = 'xxx';
$password = 'xxx';
$category = 'test';
$chk = wpPostXMLRPC($title,$body,$rpcurl,$username,$password,$category,$keywords='',$encoding='UTF-8');
if($chk) {
echo $chk;
} else {
echo 'failed';
}
答案 1 :(得分:0)
Wordpress中有一个内置功能,允许您publish an article via e-mail。从未测试过它,但它可能适合您的需求。
您可以在网站的管理员中,在设置>下进行配置。写作(网址类似于http://yourwordpresssite.com/wp-admin/options-writing.php
)。
但是,如果您需要API,则可以在与XML-RPC support和wp.newPost相关的Wordpress Codex页面中找到有用的内容。
对于代码示例,您可以查看this snippet,这对我来说似乎是一个很好的基础。