WordPress自動投稿の作り方|REST APIで記事と画像を自動投稿する方法

AI記事生成ツールがWordPress REST APIを使ってブログ記事を自動投稿するシステムのイメージ

AIブログ自動生成ツール開発シリーズ

この連載では、AIを使ったブログ自動生成ツールをゼロから作ります。

  1. AIブログ自動化とは
  2. ツールの全体設計
  3. 環境構築
  4. UI実装
  5. OpenAI API接続
  6. 記事生成パイプライン
  7. 画像生成
  8. WordPress投稿
  9. 履歴・コスト管理
  10. 運用改善

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の流れ

AI記事生成からWordPress投稿までの自動化フロー図

投稿API

POST /api/wp/post

処理の流れ

generationIdから結果取得

siteConfig読み込み

画像アップロード

本文画像置換

HTML→WPブロック変換

投稿作成

履歴保存

責務を分離すると

デバッグが容易

になります。


画像アップロード

AI生成画像は

imageBase64

として保持されています。

これを

/wp-json/wp/v2/media

へ送信します。

取得データ

mediaId
url

用途

本文画像
アイキャッチ

本文への画像差し込み

本文には

<!--IMG:1-->

などの

マーカー

が入っています。

投稿時に

<figure>

へ変換します。

挿入ルール

先頭画像 → 記事先頭
2枚目以降 → マーカー位置
残マーカー → 削除

この方式は

生成処理と投稿処理を分離

できます。


WordPressブロック変換

HTML記事を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画像生成


次の記事

履歴・コスト管理

https://maplememo.com/ai-blog-history-cost-cache

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール