通过XML-RPC更新WordPress中的post_meta

时间:2013-02-22 21:39:53

标签: ruby wordpress xml-rpc

我目前正在开展一个涉及从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/

1 个答案:

答案 0 :(得分:2)

找出Wordpress帖子的结构实际上非常棘手。如果您要发布自定义字段,则应使用以下格式:

'custom_fields' => [{'key' => 'something', 'value' => 'something else'}]

如果是自定义分类,请使用:

'terms' => {
            'custom_type' => [value],
            'custom_something' => ['array_item','array_item']
        }

对于术语,您总是需要将值放入数组中,即使它只是一个项目。希望它有所帮助。