wordpress metaWeblog.newPost xmlrpc创建类别(如果不存在),并防止来自codeigniter的重复标题

时间:2013-04-04 10:31:19

标签: php wordpress codeigniter xml-rpc

我正在使用codeigniter发布到我的wordpress博客。

模型

function doPost($title='new post',$content='hi',$categories=array('new'),$keys='new, none')
    {
        $this->load->library('xmlrpc');

        $thePost= array(
            array(
                'title' => array($title,'string'),
                'date_created_gmt'=>array($datetime,'dateTime.iso8601'),
                'description' => array($content,'string'),
                'categories' => array($categories,'struct'),
                'mt_keywords'    => array($keys,'string'),
                'post_type' => array('post','string'),
            ),
            'struct'
        );
        $this->xmlrpc->server('http://demo.com/xmlrpc.php', 80);
        $this->xmlrpc->method('metaWeblog.newPost');
        $request = array('1',$user,$pass,$thePost,TRUE);
        $this->xmlrpc->request($request);
        $result = $this->xmlrpc->send_request();

        if (!$result) {
            echo $this->xmlrpc->display_error();
        } else {
            print_r($this->xmlrpc->display_response());
        }
    }

但我有一个问题。

第一。我可以查看是否已存在同名的帖子吗?

第二。目前,如果我发布不存在的类别,则将帖子提交为未分类, 如果不存在,我怎么能改变它来创建类别?

第三。我可以在一个xmlrpc请求中发布多个帖子吗?

谢谢,我正在使用wordpress的最新版本(今天是使用wordpress的day0!),它位于远程服务器上..

谢谢谢谢

1 个答案:

答案 0 :(得分:2)

Re-1st / 2nd。

您可以使用wp.getTerms检查类别是否存在。

使用wp.newTerm

添加类别

使用wp.newPost

创建帖子

Re-3rd。

  

我可以在一个xmlrpc请求中发布多个帖子吗?

不,不要推送内容。

尽管如此,如果您确实可以访问WP安装,则可以创建一个小插件,该插件可以在CI应用程序远程触发后从Feed和insert_posts中提取内容。