Using Python & XML-RPC to add a custom field to a Wordpress post?

随声附和 提交于 2019-12-12 09:24:34

问题


I want to add an 'enclosure' custom field to an existing Wordpress post using Python & XML-RPC.

My code looks like this:

def add_enclosure(server, post_id, enclosure):
    post_data = server.metaWeblog.getPost(post_id, username, password)
    custom_fields = post_data['custom_fields']
    new_id = max([int(field['id']) for field in custom_fields]) + 1

    custom_fields.append({'id': "%s" % (new_id), 'key': 'enclosure', \
                            'value': "%s\n%s\n%s" % \
                            (enclosure['url'], enclosure['length'], enclosure['type'])})
    server.metaWeblog.editPost(post_id, username, password, \
                                {'custom_fields': custom_fields})

But I get the following error:

xmlrpclib.Fault: <Fault 500: 'Sorry, your entry could not be edited. Something wrong happened.'>

What am I doing wrong?


回答1:


Custom fields are a set of key/value pairs that look like:

"custom_fields" = (
        {key = city; value = Sacramento; },
        {key = city; value = Sandy; }
    )

Try fetching post data with metaWeblog.getPost for a post that already has custom fields and you'll see what they look like.



来源:https://stackoverflow.com/questions/2419768/using-python-xml-rpc-to-add-a-custom-field-to-a-wordpress-post

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!