wordpress,autopost,从数据日期设置post_date

时间:2011-05-31 21:21:31

标签: wordpress date

我想要将2,000个数据导入到我的wordpress中,因为wp有许多功能可以很好地工作。我开始手动完成,但后来意识到,编写脚本导入它更容易。

一切都运行完美!!一个问题,我不能让它使用我的数据的RELEASEDATE作为POSTED日期。

我花了2天谷歌搜索和使用SO资源,每个人都很接近,但一些答案使用wp内部编码结构,我不想这样做。以下是我到目前为止的情况:

$title = htmlentities($title,ENT_NOQUOTES,$encoding); 
            $keywords = htmlentities($keywords,ENT_NOQUOTES,$encoding); 
            $content = array( 
                'title'=>$title, 
                'description'=>$body, 
                'mt_allow_comments'=>1,  // 1 to allow comments 
                'mt_allow_pings'=>0,  // 1 to allow trackbacks 
                'post_type'=>'post',
                'post_status' => 'draft',
                'publish' =>$pubdate,
                'mt_keywords'=>$keywords, 
                'categories'=>array($category) 
            ); 
            $params = array(0,$username,$password,$content,true); 
            $request = xmlrpc_encode_request('metaWeblog.newPost',$params); 
            $ch = curl_init(); 

一切都很完美,但我无法确定工作日期。 RELEASEDATE的格式与WP,2011-03-04 14:33:21等完全相同。

它在帖子上打印日期,但“发布”表示我运行脚本的那天。在上面的例子中,我发送RELEASEDATE到$ pubdate。我知道post_date是一个对象,但不知道如何在这里实现它。

简而言之,如果我让这个脚本满了,我将在今天发布2,000条帖子! :P

2 个答案:

答案 0 :(得分:1)

metaWeblog.newPost 接受的

This page列表参数。

在该页面中,您可以使用“ date_created_gmt ”或“ dateCreated ”来存储日期数据。

答案 1 :(得分:1)

我是这样做的:

  1. 使用Incutio XML-RPC Library for PHP
  2. 代码应如下所示:

    $client = new IXR_Client('http://wp-blog.com/xmlrpc.php');
    
    $post = array(
        'post_type'=> 'post',
        'title' => $title,
        'description' => $description,
        'date_created_gmt' => new IXR_Date(time()),
    );
    
    if (!$client->query('metaWeblog.newPost', '', $login, $password, $post, true))
    {
        die( 'Error while creating a new post' . $client->getErrorCode() ." : ". $client->getErrorMessage());
    }
    
    $post_id = $client->getResponse();
    
  3. 对我而言,这就像一个魅力: - )

    有关 ISO8601 和XML日期格式的更多详细说明,请访问:How to scedule a Post using XMLRPC / metaWeblog.newPost ??