XML-RPC and post_date

时间:2012-10-07 作者:curtismchale

我试图通过XML-RPC设置post\\u日期,但一直收到一个错误消息,称XML格式不正确。代码如下所示:

$post = get_post( $post_id );

$response = $client->query( 
    \'wp.editPost\',
    array( 
        0, 
        $user, 
        $pw, 
        array( 
            \'post_date\' => $post->post_date 
        ) 
    ) 
);
我也遇到了同样的问题wp.newPost. 我知道日期的格式应该是ISO8601,但我只是没办法把它格式化好。

1 个回复
最合适的回答,由SO网友:EAMann 整理而成

这里有几个问题。首先wp.editPost 在内容结构->您试图编辑的帖子的ID(应该是整数)之前接受第四个参数。

第二,您正在为post_date, 因此客户端会自动将其转换为<string> 在将其发送到服务器之前标记。。。很遗憾,服务器需要<dateTime.iso8601> 标签

您可以通过解析字符串date并传递IXR_Date 而不是类。客户端将正确解析它,服务器将做出适当的反应。我在自己的服务器上测试了以下场景:

$date = new IXR_Date( strtotime( $post->post_date ) );  // Parse the date to an IXR_Date object.

$response = $client->query( 
    \'wp.editPost\',
    array( 
        0, 
        $user, 
        $pwd,
        $post_id,
        array( 
            \'post_date\' => $date 
        ) 
    ) 
);

结束

相关推荐

如何按POST_DATE和META_VALUE_Num排序?

在一个页面上,我想显示来自四个区域、帖子和三种自定义帖子类型的内容,并按日期对它们进行排序。发布日期是post\\u date,cpt dates是meta\\u值,例如,cpt\\u date1、cpt\\u date2和cpt\\u date3(包含unix日期格式的字符串)。如何为WP\\u Query编写参数来实现这一点?感谢您的帮助!