问题
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