通过php发布到wordpress

时间:2013-11-14 04:00:16

标签: php wordpress post

我正在尝试使用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) -

  • 我现在正在使用xampp在本地托管网站

如果任何人都可以修改它或者可以共享一个工作的,那就太好了。

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;
}

1 个答案:

答案 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 );