目次
はじめに
Pythonを使ってブログ運営をもっと効率化できないかと考え、
今回は「PythonからWordPressに記事を投稿する方法」を勉強しました。
結果として、下書きの投稿まで成功したので、
その手順とポイントを備忘録的にまとめておきます。
Step1:WordPressの「アプリケーションパスワード」を発行する
PythonからWordPressを操作するには、認証情報(API用のパスワード)が必要です。
発行手順
- WordPress管理画面にログイン
- 左メニュー「ユーザー」→「プロフィール」をクリック
- ページ下部にある「アプリケーションパスワード」を探す
- 「新しいアプリケーションパスワード名」を記入(例:Python連携用など)
- 「新しいアプリケーションパスワードを追加」をクリック
- 生成されたパスワードをコピーして控えておく
※このパスワードは一度しか表示されないので、必ずメモしておきましょう。
Step2:Pythonスクリプトで記事を投稿する
以下のスクリプトを使うことで、WordPressに下書き投稿ができます。
import requests
# WordPressサイトのURL
url = 'https://morinokabu.com'
# WordPressのユーザー名とアプリケーションパスワード
api_user = 'mori' # ← あなたのWordPressユーザー名
api_password = 'ここにアプリケーションパスワードを入力'
# 記事データの定義
post_data = {
'title': 'Hello,World!',
'content': 'テストです',
'slug': 'python-post-test',
'status': 'draft' # 「下書き」状態。公開したい場合は 'publish'
}
# APIのエンドポイントURL
post_api_url = f'{url}/wp-json/wp/v2/posts'
# POSTリクエストで記事を送信
response = requests.post(post_api_url, json=post_data, auth=(api_user, api_password))
# レスポンスを確認
res_json = response.json()
print(res_json)
実行結果
このコードを実行すると、WordPressの管理画面の「投稿」一覧に下書き記事が追加されているのが確認できます。
タイトルは「Hello,World!」
本文は「テストです」
スラッグは「python-post-test」
ステータスは「下書き(draft)」として保存されています。
補足:post_data
でできることはたくさんある
post_data
の中には、他にも以下のような情報を設定できます:
categories
: カテゴリIDを指定tags
: タグIDを指定excerpt
: 抜粋を設定featured_media
: アイキャッチ画像(メディアID)の設定content
: HTMLでリンクや装飾も可能
今後はこれらも試して、自動記事投稿をより実用的にしていきたいと思います。
まとめ
Pythonを使ってWordPressに記事を投稿する流れは以下の通りです:
- WordPressでアプリケーションパスワードを発行
- PythonでPOSTリクエストを構成
requests
ライブラリで記事を送信- 結果を確認(投稿一覧をチェック)
メリット:
- 投稿作業の自動化ができる
- データ処理・外部APIと連携した動的記事生成が可能になる
- 記事作成フローの一部をプログラムに任せられる
少しでも参考になれば幸いです。