模块是国外开发的,使用文档也是英文的。小编总结这个模块几种常用的使用方法。
easy_install python-wordpress-xmlrpc 或者 pip install python-wordpress-xmlrpc
带有自定义栏目字段的发布文章代码
#coding:utf-8fromwordpress_xmlrpcimportClient,WordPressPostfromwordpress_xmlrpc.methods.postsimportGetPosts,NewPostfromwordpress_xmlrpc.methods.usersimportGetUserInfofromwordpress_xmlrpc.methodsimportpostsfromwordpress_xmlrpc.methodsimporttaxonomiesfromwordpress_xmlrpcimportWordPressTermfromwordpress_xmlrpc.compatimportxmlrpc_clientfromwordpress_xmlrpc.methodsimportmedia,postsimportsysreload(sys)sys.setdefaultencoding('utf-8')wp=Client('http://您的域名/xmlrpc.php','后台账号','后台密码')post=WordPressPost()post.title='文章标题'post.content='文章内容'post.post_status='publish'#文章状态,不写默认是草稿,private表示私密的,draft表示草稿,publish表示发布post.terms_names={'post_tag':['test','firstpost'],#文章所属标签,没有则自动创建'category':['Introductions','Tests']#文章所属分类,没有则自动创建}post.custom_fields=[]#自定义字段列表post.custom_fields.append({#添加一个自定义字段'key':'price','value':3})post.custom_fields.append({#添加第二个自定义字段'key':'ok','value':'天涯海角'})post.id=wp.call(posts.NewPost(post))
带有特色图像缩略图的发布文章
#coding:utf-8fromwordpress_xmlrpcimportClient,WordPressPostfromwordpress_xmlrpc.methods.postsimportGetPosts,NewPostfromwordpress_xmlrpc.methods.usersimportGetUserInfofromwordpress_xmlrpc.methodsimportpostsfromwordpress_xmlrpc.methodsimporttaxonomiesfromwordpress_xmlrpcimportWordPressTermfromwordpress_xmlrpc.compatimportxmlrpc_clientfromwordpress_xmlrpc.methodsimportmedia,postsimportsysreload(sys)sys.setdefaultencoding('utf-8')wp=Client('http://您的域名/xmlrpc.php','后台账号','后台密码')filename='./my.jpg'#上传的图片文件路径# prepare metadatadata={'name':'picture.jpg','type':'image/jpeg',# mimetype}# read the binary file and let the XMLRPC library encode it into base64withopen(filename,'rb')asimg: data['bits']=xmlrpc_client.Binary(img.read())response=wp.call(media.UploadFile(data))# response == {# 'id': 6,# 'file': 'picture.jpg'# 'url': 'https://www.vnweek.com/wp-content/uploads/2012/04/16/picture.jpg',# 'type': 'image/jpeg',# }attachment_id=response['id']post=WordPressPost()post.title='文章标题'post.content='文章正文'post.post_status='publish'#文章状态,不写默认是草稿,private表示私密的,draft表示草稿,publish表示发布post.terms_names={'post_tag':['test','firstpost'],#文章所属标签,没有则自动创建'category':['Introductions','Tests']#文章所属分类,没有则自动创建}post.thumbnail=attachment_id#缩略图的idpost.id=wp.call(posts.NewPost(post))
除了可以发布文章,这个模块也可以单独创建新的分类和标签
#coding:utf-8fromwordpress_xmlrpcimportClient,WordPressPostfromwordpress_xmlrpcimportWordPressTermfromwordpress_xmlrpc.methodsimporttaxonomiesimportsysreload(sys)sys.setdefaultencoding('utf-8')wp=Client('http://您的域名/xmlrpc.php','后台账号','后台密码')#新建标签tag=WordPressTerm()tag.taxonomy='post_tag'tag.name='My New Tag12'#标签名称tag.slug='bieming12'#标签别名,可以忽略tag.id=wp.call(taxonomies.NewTerm(tag))#返回的id#新建分类cat=WordPressTerm()cat.taxonomy='category'cat.name='cat1'#分类名称cat.slug='bieming2'#分类别名,可以忽略cat.id=wp.call(taxonomies.NewTerm(cat))#新建分类返回的id#新建子分类parent_cat=client.call(taxonomies.GetTerm('category',20))#20是父分类的idchild_cat=WordPressTerm()child_cat.taxonomy='category'child_cat.parent=parent_cat.idchild_cat.name='My Child Category'#分类名称child_cat.slug='beidongdui'#分类别名,可以忽略child_cat.id=wp.call(taxonomies.NewTerm(child_cat))#新建分类返回的id
除非注明,否则均为乐海购原创文章,转载请以链接形式标明本文地址