合わせて読みたい記事
参考書籍
業務効率化に向けたおすすめの参考書になります。
リンク
リンク
WordPress REST APIを使用した投稿とサムネイルの自動アップロード
ブログ運営をもっと効率的にしたい、そんなあなたにピッタリの方法があります。PythonとWordPress REST APIを組み合わせることで、記事の投稿と同時にサムネイルも自動でアップロードすることが可能です。この記事では、その具体的な手順を初心者にもわかりやすく解説します。
事前準備
始める前に、Pythonのrequests
ライブラリをインストールしておく必要があります。未インストールの場合は、以下のコマンドで簡単にインストールできます。
pip install requests
ステップ 1: メディアをアップロードする
まず、投稿に使用する画像をWordPressのメディアライブラリにアップロードします。以下のPythonスクリプトを使用して、画像をアップロードできます。
import requests
# WordPressの設定
media_url = 'http://yourwordpresssite.com/wp-json/wp/v2/media'
user = 'your_username'
password = 'your_application_password'
credentials = (user, password)
# アップロードする画像のパス
image_path = 'path/to/your/image.jpg'
image_name = 'image.jpg'
# メディアをアップロード
headers = {
'Content-Disposition': f'attachment; filename={image_name}',
'Content-Type': 'image/jpeg', # 画像のタイプに応じて変更
}
with open(image_path, 'rb') as img:
response = requests.post(media_url, auth=credentials, headers=headers, data=img)
# アップロードしたメディアのIDを取得
if response.status_code == 201:
media_id = response.json()['id']
print(f'Media was successfully uploaded with ID: {media_id}')
else:
print(f'Failed to upload media. Status code: {response.status_code} - {response.text}')
ステップ 2: 投稿を作成し、サムネイルを設定する
次に、新しい投稿を作成し、先ほどアップロードした画像をサムネイルとして設定します。以下のスクリプトでは、アップロードしたメディアのIDを使用して、投稿にサムネイルを設定しています。
# 投稿データ
post_data = {
'title': 'Post with Featured Image',
'content': 'This is a post that has a featured image.',
'status': 'publish',
'featured_media': media_id # アップロードしたメディアのID
}
# 新しい投稿を作成
post_response = requests.post(url, auth=credentials, json=post_data)
# 結果を確認
if post_response.status_code == 201:
print('Post with featured image was successfully created.')
else:
print(f'Failed to create post. Status code: {post_response.status_code} - {post_response.text}')
まとめ
この方法を使えば、記事の投稿とサムネイルの設定を一度に自動化できます。もう面倒な手作業に時間を費やす必要はありません。ただし、実際のサイト名、ユーザー名、パスワード、画像パスは適宜変更してください。安全な通信のためにHTTPSを使用し、パスワードは安全に管理しましょう。
コメント