
AIブログ自動生成ツール開発シリーズ
この連載では、AIを使ったブログ自動生成ツールをゼロから作ります。
WordPress自動投稿機能の実装
前章では
AI画像生成
を実装しました。
この記事では
生成した記事をWordPressへ自動投稿
する仕組みを作ります。
ここを実装すると
- AI記事生成
- 画像生成
- WordPress投稿
までが
完全自動化
されます。
この章のゴール
この章では
生成した
- 記事
- 画像
を
WordPress REST API
で投稿します。
最終的には
AI記事生成
↓
画像生成
↓
WordPress投稿
の流れが完成します。
まず接続テストを作る
投稿機能を作る前に
/api/wp/test
を作ります。
このAPIでは
次を確認します。
siteConfig読み込み
Basic認証
WordPress API接続
接続確認を先に作ると
デバッグが非常に楽
になります。
WordPressサイト設定
WordPress接続情報は
環境変数
WP_SITE_CONFIGS_JSON
に保存します。
内容
id
name
baseUrl
username
appPassword
取得関数
getSiteConfigById()
設定が存在しない場合
404
を返します。
このチェックを入れないと
誤サイト投稿
が起こる可能性があります。
投稿APIの流れ

投稿API
POST /api/wp/post
処理の流れ
generationIdから結果取得
↓
siteConfig読み込み
↓
画像アップロード
↓
本文画像置換
↓
HTML→WPブロック変換
↓
投稿作成
↓
履歴保存
責務を分離すると
デバッグが容易
になります。
画像アップロード
AI生成画像は
imageBase64
として保持されています。
これを
/wp-json/wp/v2/media
へ送信します。
取得データ
mediaId
url
用途
本文画像
アイキャッチ
本文への画像差し込み
本文には
<!--IMG:1-->
などの
マーカー
が入っています。
投稿時に
<figure>
へ変換します。
挿入ルール
先頭画像 → 記事先頭
2枚目以降 → マーカー位置
残マーカー → 削除
この方式は
生成処理と投稿処理を分離
できます。
WordPressブロック変換

WordPressでは
単純HTMLより
ブロック形式
が編集しやすいです。
変換処理
htmlToBlocks()
変換内容
h2 h3 → heading block
p → paragraph block
ul ol → list block
table → table block
figure → image block
これにより
投稿後も編集可能
になります。
投稿ステータス
投稿ステータスは
wpStatus
で制御します。
種類
draft
future
publish
意味
draft → 下書き
future → 予約投稿
publish → 即公開
開発中は
draft固定
がおすすめです。
エラー処理
投稿失敗時は
setGenerationError()
で履歴へ記録します。
これにより
投稿失敗原因
を追跡できます。
APIレスポンスには
error.message
を含めます。
セキュリティ注意
WordPress投稿では
次を守ります。
appPasswordは環境変数
認証情報ログ禁止
投稿前確認
特に
誤公開
を防ぐため
開発中は
draft
運用が安全です。
動作確認チェック
投稿機能の確認手順
GET /api/wp/test
画像なし投稿成功
画像あり投稿成功
投稿URL保存
WP管理画面編集可能
これが通れば
実運用可能
です。
まとめ
WordPress自動投稿で難しいのは
認証
ではありません。
本当の難所は
本文整形
画像整形
です。
今回の
マーカー方式
ブロック変換
を使えば
安定した投稿
が可能になります。
次の記事では
履歴・コスト管理
を実装します。
前の記事
AI画像生成
次の記事
履歴・コスト管理