python+wordpress_xmlrpc:画像アップロード
新規画像アップロード
from wordpress_xmlrpc import Client, WordPressPost from wordpress_xmlrpc.compat import xmlrpc_client from wordpress_xmlrpc.methods import media, posts client = Client('http://xxxxxx.net/xxxxxx/xmlrpc.php','ユーザーネーム','パスワード') filename = '/home/user/xxx.png' #画像のパス data = { 'name': 'picture.jpg', 'type': 'image/jpeg', } with open(filename, 'rb') as img: data['bits'] = xmlrpc_client.Binary(img.read()) response = client.call(media.UploadFile(data)) attachment_id = response['id'] #attachment_idの設定
attachment_idは普通に画像をアップロードした時にも画像に対して付与されます
VPSから記事を投稿する際のサムネイル画像の設定
#coding: utf-8 from wordpress_xmlrpc import Client, WordPressPost from wordpress_xmlrpc.methods.posts import GetPosts, NewPost from wordpress_xmlrpc.methods.users import GetUserInfo wp = Client('http://xxxxxx.net/xxxxxx/xmlrpc.php','ユーザーネーム','パスワード') post = WordPressPost() def post_contents(): post.title = 'title' post.content = 'content' post.terms_names = {'category': ['category']} post.post_status = 'publish' post.thumbnail = xxx #サムネイルにする画像のattachment_idを入れる wp.call(NewPost(post))
attachment_idの確認方法
投稿記事中に画像ファイルを追加すると、下記の様にコードが追加されます
<img src=”http://xxxxxx.net/xxxxxx/wp-content/uploads/2015/01/xxxxxx_400x400-e111111111111-300×237.jpg” alt=”” width=”300″ height=”237″ class=”alignnone size-medium wp-image-212″ />
最後の数字(上記の場合212)が、その画像のattachment_idです。
参考
0 Comments