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': "%sn%sn%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?
Custom fields are a set of key/value pairs that look like:
Try fetching post data with
metaWeblog.getPost
for a post that already has custom fields and you’ll see what they look like.