我正在尝试使用php发布我的wordpress网站。
我使用php从网站获取数据并将所有数据存储在变量中。
我发现了一些自动wordpress php海报的代码,但它们有点复杂,我不确定如何使用/改变它们。
通过php做到最简单的方法是什么?
我的数据如下:
$ topic_name =“name”;
$ mainimage =“url / image”:
$ input =“hello .................”;
$ category =“cars”;
$ tags =(“tag1”,“tag2”,“tag3”......);
注意:我只需要基本代码登录我的wordpress并通过php发布一些随机文本 - 我很确定我可以弄清楚如何在以后输入类别,标签等。
我正在尝试使用这个,因为它看起来很简单,但我不认为它适用于最新版本的wordpress(3.7.1) -
如果任何人都可以修改它或者可以共享一个工作的,那就太好了。
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;
}
答案 0 :(得分:1)
您真的需要使用XML-RPC吗?这通常是您希望发布到远程 WordPress安装的内容。例如,来自完全不同的网站,移动应用等等。
听起来您正在编写一个可在WordPress安装中运行的插件。在这种情况下,您可以直接致电wp_insert_post()
。
来自WordPress's wiki的非常简单的示例,它还包含您可以使用的完整参数列表:
// Create post object
$my_post = array(
'post_title' => 'My post',
'post_content' => 'This is my post.',
'post_status' => 'publish',
'post_author' => 1,
'post_category' => array(8,39)
);
// Insert the post into the database
wp_insert_post( $my_post );