【Python】WordPressのAPIを使ってアイキャッチ画像付きで投稿する方法

Pythonを使ってWordPressのAPIを利用し、アイキャッチ画像付きで投稿する方法

概要

この記事では、Pythonを使用してWordPressのAPIを介して記事を投稿する方法を紹介します。さらに、投稿にアイキャッチ画像を追加する方法も説明します。WordPressのAPIは、外部アプリケーションからWordPressサイトにデータを送信するための便利なツールです。Pythonを使用することで、自動化や大量の記事を一括で投稿するなどの作業を簡単に行うことができます。

コンテンツ

  1. WordPressのAPIとは
  2. PythonでWordPressのAPIを利用するための準備
  3. Pythonを使ってアイキャッチ画像付きで投稿する方法
  4. まとめ

1. WordPressのAPIとは

WordPressのAPIは、外部アプリケーションとWordPressサイトのデータをやり取りするためのインターフェースです。APIを使用することで、WordPressサイト上で行う操作を自動化したり、外部アプリケーションから記事を投稿したりすることができます。

2. PythonでWordPressのAPIを利用するための準備

PythonでWordPressのAPIを利用するには、

requests

モジュールをインストールする必要があります。以下のコマンドを使用してインストールします。


pip install requests

また、WordPressサイト側でAPIを有効化する必要があります。WordPressの管理画面にログインし、「設定」→「一般」→「詳細設定」から「REST API」を有効にします。

3. Pythonを使ってアイキャッチ画像付きで投稿する方法

以下のPythonコードを使用して、WordPressのAPIを介してアイキャッチ画像付きで記事を投稿する方法を説明します。


import requests

# WordPressサイトのURLとユーザー名、パスワードを設定する
wordpress_url = "https://example.com/wp-json/wp/v2/posts"
username = "your_username"
password = "your_password"

# 投稿する記事の情報を設定する
title = "投稿タイトル"
content = "投稿内容"
featured_image = "https://example.com/image.jpg"

# 投稿データを作成する
data = {
    "title": title,
    "content": content,
    "status": "publish"
}

# リクエストヘッダーに認証情報を設定する
headers = {
    "Content-Type": "application/json",
}

# WordPressのAPIを介して記事を投稿する
response = requests.post(
    wordpress_url,
    json=data,
    headers=headers,
    auth=(username, password)
)

# アイキャッチ画像を設定する
if response.status_code == 201:
    post_id = response.json()["id"]
    media_url = f"{wordpress_url}/{post_id}/media"
    media_data = {
        "file": featured_image
    }
    media_response = requests.post(
        media_url,
        files=media_data,
        auth=(username, password)
    )

    if media_response.status_code == 201:
        print("記事の投稿とアイキャッチ画像の設定が完了しました。")
    else:
        print("アイキャッチ画像の設定に失敗しました。")

else:
    print("記事の投稿に失敗しました。")

上記のコードでは、

requests

モジュールを使用してWordPressのAPIにPOSTリクエストを送信しています。

wordpress_url

にはWordPressサイトの投稿エンドポイントのURLを指定し、

username

password

にはWordPressのユーザー名とパスワードを設定します。

また、

title

content

には投稿する記事のタイトルと内容を設定し、

featured_image

にはアイキャッチ画像のURLを指定します。

投稿データはJSON形式で作成し、リクエストヘッダーには

Content-Type

を指定します。認証情報は

auth

パラメータに指定します。

投稿が成功した場合は、

response

オブジェクトから投稿した記事のIDを取得し、アイキャッチ画像を設定するためのリクエストを送信します。アイキャッチ画像の設定も成功した場合は、「記事の投稿とアイキャッチ画像の設定が完了しました。」と表示されます。

4. まとめ

Pythonを使用してWordPressのAPIを利用し、アイキャッチ画像付きで記事を投稿する方法を紹介しました。WordPressのAPIを使用することで、Pythonを活用して自動化や効率化を図ることができます。今後、PythonとWordPressのAPIを組み合わせて便利なツールやアプリケーションを作成してみてください。

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x