Python调用WordPress XMLRPC时自定义字段无法生效
WordPress自定义字段设置失败问题解决思路
我通过python的wordpress_xmlrpc库创建自定义文章类型(episode),指定了自定义字段kiranime_episode_number的值为1,但文章创建后该字段为空,没有写入对应值。
相关代码:
from wordpress_xmlrpc import Client, WordPressPost from wordpress_xmlrpc.methods.posts import NewPost, GetPosts linktest = 'http://automatication-test.local/xmlrpc.php' loginId = '1234' password = '1234' wp = Client(linktest, loginId, password) post = WordPressPost() post.title = 'Episodio 1' post.post_type = 'episode' post.post_status = 'draft' post.custom_fields = [{ 'key': 'kiranime_episode_number', 'value': '1' }] wp.call(NewPost(post))
可能的解决方向:
- 确认
kiranime_episode_number字段已在WordPress后台注册,未通过register_meta或插件注册的自定义字段,可能无法通过XML-RPC写入。 - 检查用户权限:确保操作的账号拥有编辑自定义字段的权限,部分WordPress配置会限制低权限用户的该操作。
- 尝试携带字段ID:先通过
GetPosts获取同类型已发布文章的自定义字段数据,查看是否包含字段ID,写入时在custom_fields字典中添加'id': 字段ID参数。 - 排查安全插件:部分安全类插件会禁用自定义字段的XML-RPC写入功能,可暂时关闭插件测试。
- 匹配字段值类型:如果该自定义字段是数字类型,尝试传入整数
1而非字符串'1'。
内容的提问来源于stack exchange,提问作者showgameart
相关产品推荐
相关产品推荐

