python-wordpress-xmlrpc自动发布文章到wordpress的示例demo及安装方法

最近zt521教程网小编使用python的wordpress_xmlrpc模块,网上找了很多教程。现在分享给各位网友朋友。首页,这个模块的使用方法请看 https://python-wordpress-xmlrpc.readthedocs.io/en/latest/
这个模块是国外开发的,说明文档也是英文的,看起来吃力的朋友。可以看一下我总结这个模块常用的方法进入教程。

python-wordpress-xmlrpc安装:

安装方法一
pip3 install python-wordpress-xmlrpc

安装方法二
pip install python-wordpress-xmlrpc

xmlrpc自定义栏目字段的发布文章代码示例demo

#coding:utf-8
from wordpress_xmlrpc import Client, WordPressPost
from wordpress_xmlrpc.methods.posts import GetPosts, NewPost
from wordpress_xmlrpc.methods.users import GetUserInfo
from wordpress_xmlrpc.methods import posts
from wordpress_xmlrpc.methods import taxonomies
from wordpress_xmlrpc import WordPressTerm
from wordpress_xmlrpc.compat import xmlrpc_client
from wordpress_xmlrpc.methods import media, posts
import sys
reload(sys)
sys.setdefaultencoding('utf-8')

wp = Client('http://您的域名/xmlrpc.php', '后台账号', '后台密码')

post = WordPressPost()
post.title = '文章标题'
post.content = '文章内容'
#文章状态,不写默认是草稿,private表示私密的,draft表示草稿,publish表示发布
post.post_status = 'publish' 

post.terms_names = {
    #文章所属标签,没有则自动创建
    'post_tag': ['test', 'firstpost'], 
    #文章所属分类,没有则自动创建
    'category': ['Introductions', 'Tests'] 
 }
#自定义字段列表 
post.custom_fields = []  
#添加一个自定义字段
post.custom_fields.append({  
        'key': 'jiaocheng',
        'value': 'zt521教程网'
})
#添加第二个自定义字段
post.custom_fields.append({ 
        'key': 'domian',
        'value': 'zt521.cn'
})
post.id = wp.call(posts.NewPost(post))

特色图像缩略图的发布文章代码示例demo

#coding:utf-8
from wordpress_xmlrpc import Client, WordPressPost
from wordpress_xmlrpc.methods.posts import GetPosts, NewPost
from wordpress_xmlrpc.methods.users import GetUserInfo
from wordpress_xmlrpc.methods import posts
from wordpress_xmlrpc.methods import taxonomies
from wordpress_xmlrpc import WordPressTerm
from wordpress_xmlrpc.compat import xmlrpc_client
from wordpress_xmlrpc.methods import media, posts
import sys
reload(sys)
sys.setdefaultencoding('utf-8')

wp = Client('http://您的域名/xmlrpc.php', '后台账号', '后台密码')

filename = './my.jpg' #上传的图片文件路径

# prepare metadata
data = {
        'name': 'picture.jpg',
        'type': 'image/jpeg',  # mimetype
}

# read the binary file and let the XMLRPC library encode it into base64
with open(filename, 'rb') as img:
        data['bits'] = xmlrpc_client.Binary(img.read())

response = wp.call(media.UploadFile(data))
# response == {
#       'id': 6,
#       'file': 'logo_zt521.png'
#       'url': 'https://www.zt521.cn/wp-content/uploads/2020/12/logo_zt521.png',
#       'type': 'image/png',
# }
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 #缩略图的id
post.id = wp.call(posts.NewPost(post))

发布单独创建新的分类和标签接口代码示例demo

#coding:utf-8
from wordpress_xmlrpc import Client, WordPressPost
from wordpress_xmlrpc import WordPressTerm
from wordpress_xmlrpc.methods import taxonomies

import sys
reload(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是父分类的id

child_cat = WordPressTerm()
child_cat.taxonomy = 'category'
child_cat.parent = parent_cat.id
child_cat.name = 'My Child Category'#分类名称
child_cat.slug = 'beidongdui'#分类别名,可以忽略
child_cat.id = wp.call(taxonomies.NewTerm(child_cat))#新建分类返回的id
END

原创文章,作者:zt521,如若转载,请注明出处:https://www.zt521.cn/9802

发表评论

邮箱地址不会被公开。 必填项已用*标注

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息