n8nでWordPressの記事を自動投稿するとき、
- 「タイトルと本文は入ったのに、カテゴリだけ未分類になる」
- 「n8nというカテゴリへ入れたいのに、違うカテゴリになる」
- 「カテゴリ名を入れているのに反映されない」
ということがあります。
この原因になりやすいのが、
カテゴリID
です。
WordPressでは、カテゴリにそれぞれ番号が付いています。
たとえば、
- n8n=2
- ChatGPT=3
- WordPress=4
というような番号です。
n8nからWordPressへカテゴリを自動設定するときは、この番号を使います。
この記事では、
- カテゴリIDとは何か
- WordPressでカテゴリIDを調べる方法
- n8nでカテゴリを自動設定する方法
- カテゴリ名をIDへ変換する方法
- うまく設定できないときの確認ポイント
まで、初心者向けにやさしく解説します。
WordPressのカテゴリIDとは?
カテゴリIDとは、
「WordPressがカテゴリを見分けるための番号」
です。
たとえば学校に、
田中さん 出席番号1
佐藤さん 出席番号2
がいるのと似ています。
WordPressでも、
- n8n ID 2
- ChatGPT ID 3
のように、それぞれ番号があります。
カテゴリ名は人間が見るための名前。カテゴリIDはWordPressが内部で見分けるための番号。と考えるとわかりやすいです。
カテゴリIDはサイトごとに違う
ここは重要です。
ネットの記事に、
n8nカテゴリ=2
と書いてあっても、自分のWordPressサイトでも2とは限りません。
自分のサイトでは、
n8n=6
になっているかもしれません。
カテゴリIDは、
WordPressサイトごとに違う
と考えてください。
そのため、他人の記事にある数字をそのままコピーしないようにしましょう。
方法1:WordPress管理画面でカテゴリIDを調べる
初心者なら、この方法がわかりやすいです。
WordPress管理画面から、
投稿
↓
カテゴリー
を開きます。
確認したいカテゴリの「編集」を開きます。
ブラウザのURLを見ると、
tag_ID=2
のような文字が入っている場合があります。
この、
2
がカテゴリIDです。
たとえば、
tag_ID=6
なら、
カテゴリID=6
です。
実例
自分のWordPressサイトで、
- n8n tag_ID=2
- ChatGPT tag_ID=3
- WordPress tag_ID=4
- AI自動化 tag_ID=5
だったとします。
この場合は、
- n8n →2
- ChatGPT →3
- WordPress →4
- AI自動化 →5
としてn8n側で使えます。
方法2:WordPress REST APIから確認する
カテゴリ一覧は、WordPress REST APIから確認することもできます。
WordPress公式では、
GET /wp/v2/categories
でカテゴリ一覧を取得できます。
自分のサイトなら、
https://example.com/wp-json/wp/v2/categories
のような形です。
すると、
id
name
slug
などの情報が返ります。
たとえば、
{
"id": 2,
"name": "n8n",
"slug": "n8n"
}
という結果なら、
n8nカテゴリのID=2
です。
初心者は管理画面で確認すればOK
REST APIを使った確認方法もありますが、最初は無理に使う必要はありません。
WordPress管理画面
↓
投稿
↓
カテゴリー
↓
編集
↓
URLを見る
これだけでも十分です。
n8nからWordPressへカテゴリを設定する
たとえばGoogleスプレッドシートに、
タイトル
本文
カテゴリ
という列があるとします。
記事Aは、
タイトル n8n初心者向け解説
カテゴリ n8n
です。
n8nでGoogle Sheetsからこの情報を取得します。
しかしWordPressへ送るときは、
n8n
という文字ではなく、
カテゴリID 2
へ変換して使います。
Google Sheetsではカテゴリ名のままでOK
Googleスプレッドシートでは、
2だけを書くより、
n8nと書いておく方が人間にはわかりやすいです。
そこで、
Google Sheets カテゴリ:n8n
↓
n8nで変換
↓
WordPress カテゴリID:2
という流れにします。
Expressionでカテゴリ名をIDへ変換する
たとえばカテゴリIDが、
- n8n=2
- ChatGPT=3
- WordPress=4
- AI自動化=5
なら、次のようなExpressionを使えます。
{{
({
'n8n': 2,
'ChatGPT': 3,
'WordPress': 4,
'AI自動化': 5
})[$json["カテゴリ"]] || 1
}}
少し難しく見えますが、
「カテゴリ名と数字の対応表」を作っているだけです。
この式を中学生向けに考えると?
たとえば、
- 国語=1
- 数学=2
- 英語=3
という表を作るのと同じです。
n8nでは、
n8nという文字が来た
↓
対応表を見る
↓
2を返す
という動きをします。
「|| 1」は何?
式の最後にある、
|| 1
は、
「どれにも当てはまらなかったら1を使う」
という意味です。
ただし注意してください。
カテゴリID 1が必ず「未分類」とは限りません。
自分のWordPressサイトで、
ID 1が何のカテゴリか確認してから使いましょう。
わからない場合は、最初から適当なIDへ送らない設計にした方が安全です。
IFノードで不明なカテゴリを止める方法
より安全にするなら、
カテゴリが見つからなかったら処理を止める方法もあります。
たとえば、
Google Sheets
↓
カテゴリ変換
↓
IF
↓
カテゴリIDあり →WordPress
カテゴリIDなし →停止
です。
これなら、間違ったカテゴリへ投稿されにくくなります。
WordPressのcategoriesは複数設定できる
WordPress REST APIでは、投稿のcategoriesは複数指定できます。
たとえば、
[2]なら、カテゴリID 2だけ。
[2, 5]なら、カテゴリID 2+カテゴリID 5を設定します。
ただし初心者なら、まず1記事1カテゴリから始める方がわかりやすいです。
実例:Google SheetsからWordPressへ自動設定する
たとえばGoogle Sheetsがこうなっています。
タイトル n8nとは?
本文 n8nは自動化ツールです。
カテゴリ n8n
n8nで取得します。
カテゴリ名は、
n8n
です。
Expressionで、
n8n
↓
2
へ変換します。
WordPressへ、
タイトル n8nとは?
本文 n8nは自動化ツールです。
カテゴリ 2
として送ります。
これでWordPressの記事に、
n8nカテゴリを設定できます。
OpenAIでカテゴリを自動判定することもできる
Google Sheetsにカテゴリを書かず、
OpenAIに判定してもらう方法もあります。
たとえば、
この記事を次の4カテゴリから1つ選んでください。
- n8n
- ChatGPT
- WordPress
- AI自動化
と指示します。
OpenAIが、
n8n
と返したら、
n8n
↓
2
へ変換してWordPressへ送ります。
AIにはカテゴリ名だけ返してもらう
OpenAIから、
この記事はn8nカテゴリがおすすめです。
と返されると、そのまま対応表に使いにくくなります。
そこで、
「カテゴリ名だけを1つ出力してください」と指示すると扱いやすくなります。
理想は、
n8n
だけ返ってくる状態です。
よくある失敗1:カテゴリ名をそのまま送る
たとえば、
categories=n8n
と送っても、期待した動きにならないことがあります。
WordPress側ではカテゴリIDを使うため、
n8n
↓
2
のように変換します。
よくある失敗2:他サイトのIDを使う
ネット記事の、
ChatGPT=3
をそのまま使うのは危険です。
自分のサイトでは、
ChatGPT=8
かもしれません。
必ず自分のWordPressで確認してください。
よくある失敗3:未分類になる
カテゴリが未分類になる場合は、
- カテゴリIDが正しいか
- Expressionの結果が数字になっているか
- Google Sheetsのカテゴリ名が対応表と一致しているか
を確認します。
たとえば対応表が、
'n8n'
なのにGoogle Sheetsが、
'N8N'
なら一致しない可能性があります。
よくある失敗4:空白が入っている
Google Sheetsで、
n8n
のように最後へ空白が入っていると、対応表と一致しないことがあります。
見た目ではわかりにくいので注意しましょう。
よくある失敗5:カテゴリIDを文字として扱っている
場合によっては、
2
と、
"2"
でデータの種類が違います。
WordPressへカテゴリIDを渡す場合は、数字として扱われているかOUTPUTを確認すると安心です。
最初は1記事でテストする
いきなり10記事を投稿しない方が安全です。
まず、
タイトル カテゴリテスト
本文 これはテストです。
カテゴリ n8n
という記事を1件作ります。
n8nを実行し、
WordPress
↓
下書き
↓
カテゴリがn8nになっているか
を確認します。
成功してから複数記事へ広げましょう。
ココナラのn8nテンプレートについて
私は、
「ChatGPTで作った記事をWordPressへ半自動入稿するn8nテンプレート Lite」
をココナラで公開しています。
WordPress入稿を自動化するときは、
タイトル
本文
カテゴリ
を正しく渡すことが基本になります。
カテゴリ自動設定では、今回説明した、
カテゴリ名↓カテゴリIDの変換が重要です。
完成したワークフローを見ながら覚えたい場合は、テンプレートを使う方法もあります。
ただし、自分のWordPressサイトのカテゴリIDへ変更する設定は必要です。
まとめ
n8nでWordPress記事のカテゴリを自動設定するときは、
カテゴリID
を理解することが大切です。
カテゴリIDは、
WordPressがカテゴリを見分けるための番号
です。
たとえば、
- n8n=2
- ChatGPT=3
のように設定されています。
ただし、この番号はサイトごとに違います。
そのため、
WordPress管理画面で自分のカテゴリIDを確認
↓
Google Sheetsではカテゴリ名を管理
↓
n8nでカテゴリ名をIDへ変換
↓
WordPressへ送る
という流れがおすすめです。
初心者なら、まず1記事だけ使って、
n8n
↓
カテゴリID
↓
WordPress下書き
まで正しく設定されるか確認してみましょう。
注意事項
カテゴリIDはWordPressサイトごとに異なります。
他サイトの記事やテンプレートに書かれているカテゴリIDを、そのまま自分のサイトで使わないでください。
n8nやWordPressはアップデートによって画面や設定項目が変更される場合があります。
AIにカテゴリ判定を任せる場合も、誤ったカテゴリを返す可能性があります。
本番運用前に、テスト記事を下書きで投稿し、意図したカテゴリが設定されることを確認してください。
参考・公式情報
- ・WordPress Developer Resources「Categories – REST API Handbook」
- ・WordPress Developer Resources「Posts – REST API Handbook」
- ・WordPress Developer Resources「REST API Reference」
- ・n8n公式ドキュメント
- ・n8n公式ドキュメント「WordPress」
- ・n8n公式ドキュメント「Expressions」
WordPressやn8nは継続的に更新されているため、実際の画面と異なる場合は最新の公式ドキュメントも確認してください。
次に読む記事
自分で組み立てる時間を減らしたい方へ
この記事の手順を自分で試す方法に加え、設定の土台として使える販売テンプレートも用意しています。
- WordPress記事入稿 Liteの商品内容・価格を見る(ココナラ)
用意した記事をHTMLに整えてWordPressへ下書き保存。 自動公開はしません。Google Sheets・OpenAI・WordPressの接続設定が必要です。
ご自身の環境に合わせた初期設定が必要です。OpenAIを使う商品ではAPI利用料金が別途かかります。購入前に販売ページの対応範囲をご確認ください。