我正在用XML RPC向Wordpress 3.8发送帖子。以下是发送到wordpress的原始XML:
<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
<methodName>wp.newPost</methodName>
<params>
<param>
<value>
<int>0</int>
</value>
</param>
<param>
<value>
<string>admin</string>
</value>
</param>
<param>
<value>
<string>password</string>
</value>
</param>
<param>
<value>
<struct>
<member>
<name>post_status</name>
<value>
<string>publish</string>
</value>
</member>
<member>
<name>post_title</name>
<value>
<string>test 0.762719240039587</string>
</value>
</member>
<member>
<name>post_content</name>
<value>
<dateTime.iso8601>20140111T20:39:15</dateTime.iso8601>
</value>
</member>
<member>
<name>post_date</name>
<value>
<dateTime.iso8601>20140111T20:39:15</dateTime.iso8601>
</value>
</member>
<member>
<name>terms_names</name>
<value>
<struct>
<member>
<name>category</name>
<value>
<array>
<data>
<value>
<string>test</string>
</value>
</data>
</array>
</value>
</member>
</struct>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodCall>
看起来不错。发送日期时使用的是正确的UTC(邮件是在芝加哥时间14:39,-6 GMT)时间,我得到了一个邮件ID(在本例中为28062)。非常棒。
在phpMyAdmin中查看一下,结果有点奇怪。
ID#28063在post\\u date\\u gmt上具有正确的时间戳,但父级(28062)的日期与发送日期相差12小时。将正确的GMT偏移量加倍。这是怎么回事?
最合适的回答,由SO网友:stockholmux 整理而成
好吧我想我搞定了。
<dateTime.iso8601>20140111T20:39:15</dateTime.iso8601>
应为:
<dateTime.iso8601>20140111T20:39:15Z</dateTime.iso8601>
看起来我使用的工具包没有很好地实现iso8601(或者wordpress没有-不确定)。我正在使用
Node Wordpress 并追踪到它使用了这个模块
Node XML RPC 以实际发送XML RPC。这似乎是错误的日期格式出现的地方。