我目前正在开展一个涉及从300多个静态页面中抓取数据并将该数据传输到WordPress站点的项目。我已经使用简单字段(http://simple-fields.com/)插件设置了各种自定义字段,并且具有基本的XML-RPC连接。下面是我用来测试注入自定义帖子的内容(用Ruby编写):
connection = XMLRPC::Client.new_from_uri "http://localhost:8888/xmlrpc.php"
username = "admin"
password = "password"
test_post = {
:post_type => "custom_property",
:post_status => "draft",
:post_title => "test post!",
:post_meta => {
:_simple_fields_fieldGroupID_1_fieldID_3_numInSet_0 => "test"
}
}
puts connection.call("wp.newPost", 1, username, password, test_post)
我试过:custom_fields代替:post_meta但仍无济于事。我似乎无法更新通过简单字段创建的自定义字段。
如果有人对如何做有任何建议,我们将不胜感激。
编辑:使用本文扩展XML-RPC函数解决了这个问题:http://kovshenin.com/2010/custom-xml-rpc-methods-in-wordpress/
答案 0 :(得分:2)
找出Wordpress帖子的结构实际上非常棘手。如果您要发布自定义字段,则应使用以下格式:
'custom_fields' => [{'key' => 'something', 'value' => 'something else'}]
如果是自定义分类,请使用:
'terms' => {
'custom_type' => [value],
'custom_something' => ['array_item','array_item']
}
对于术语,您总是需要将值放入数组中,即使它只是一个项目。希望它有所帮助。