【Python × WordPress】記事にヘッダー画像を設定する方法|REST APIでfeatured_mediaを指定

目次

はじめに

PythonでWordPressを操作してブログ記事を自動投稿できるようになりましたが、
投稿された記事のヘッダー画像(アイキャッチ画像)が「No Image」になってしまう問題がありました。

そこで今回は、PythonからWordPressのREST APIを使って、記事にヘッダー画像を設定する方法を学びました。


解決方法:featured_mediaを使う

WordPressのREST APIで記事を投稿する際、ヘッダー画像(アイキャッチ画像)を指定するには、featured_media を使います。
このパラメータに、画像のID(=メディアID)を指定することで、画像が正しく表示されます。


実際のコード例

記事を投稿するデータの定義部分に、以下のように記述します:

post_data = {
    'title': 'Hello,World!',
    'content': "<p>テストです。</p><p>HTMLカスタムの内容です。</p>",
    'slug': 'python-post-test',
    'categories': [category_id],  # 記事に割り当てるカテゴリID
    'status': 'draft',            # 「下書き」。公開したい場合は "publish"
    'featured_media': 4220        # ← ここが重要!画像IDを指定
}

ポイントは、最後の'featured_media': 4220の部分です。
このIDが、使用したい画像(メディア)のIDになります。


画像IDの調べ方

画像のIDは、WordPressの管理画面から簡単に確認できます。

手順:

  1. WordPressにログイン
  2. 左メニューから「メディア」→「ライブラリ」を開く
  3. ヘッダーに使いたい画像をクリック
  4. URLを確認
     例:
     https://yourdomain.com/wp-admin/post.php?post=99999&action=edit
  5. post=9999999999画像のIDです

注意点:画像は事前にアップロードが必要

PythonのREST APIでは、記事に画像IDを指定することはできますが、画像のアップロード自体は別手順になります。
画像を使う前に、管理画面やFTPなどを使って画像をあらかじめアップロードしておく必要があります。


まとめ

PythonからWordPressの記事投稿時に「ヘッダー画像(アイキャッチ画像)」を設定したい場合は、
featured_media を使って、画像IDを指定するだけで実現できます。

ポイント:

  • featured_mediaにメディアIDを指定
  • メディアIDは管理画面のURLから取得可能
  • 画像は事前にアップロードしておくこと

投稿された記事に自動で画像がつくことで、見た目の印象が大きく変わるため、
記事自動投稿を行っている方は、ぜひ活用してみてください。

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

この記事を書いた人

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

目次