【Python × WordPress】PythonからWordPressに記事を投稿してみた|下書きまでの実装手順

目次

はじめに

Pythonを使ってブログ運営をもっと効率化できないかと考え、
今回は「PythonからWordPressに記事を投稿する方法」を勉強しました。

結果として、下書きの投稿まで成功したので、
その手順とポイントを備忘録的にまとめておきます。


Step1:WordPressの「アプリケーションパスワード」を発行する

PythonからWordPressを操作するには、認証情報(API用のパスワード)が必要です。

発行手順

  1. WordPress管理画面にログイン
  2. 左メニュー「ユーザー」→「プロフィール」をクリック
  3. ページ下部にある「アプリケーションパスワード」を探す
  4. 新しいアプリケーションパスワード名」を記入(例:Python連携用など)
  5. 新しいアプリケーションパスワードを追加」をクリック
  6. 生成されたパスワードをコピーして控えておく

※このパスワードは一度しか表示されないので、必ずメモしておきましょう。


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に記事を投稿する流れは以下の通りです:

  1. WordPressでアプリケーションパスワードを発行
  2. PythonでPOSTリクエストを構成
  3. requestsライブラリで記事を送信
  4. 結果を確認(投稿一覧をチェック)

メリット:

  • 投稿作業の自動化ができる
  • データ処理・外部APIと連携した動的記事生成が可能になる
  • 記事作成フローの一部をプログラムに任せられる

少しでも参考になれば幸いです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次