Python

【Python】ワードプレスのREST APIを使ってブログ記事の更新(タイトルやカテゴリーの変更)を自動化する

この記事は約3分で読めます。

 

 

こんにちはミナピピンです。今回はワードプレスのAPIを使って記事の更新を自動化するスクリプトを作ったので、その一部をメモ代わりに記事にしておきます。誰かの参考になれば幸いです。

 

前準備

 

まず自分のブログをAPIから更新するためにはapplicationpasswordというプラグインを自分ブログにインストールして、認証情報となるAPI鍵を作成する必要があります。詳しくは下記記事で解説していますので参考にしてください

 

参照記事:【Python】WordPressのREST APIを使ってブログに記事を自動投稿する

 

 

スポンサーリンク
スポンサーリンク

ワードプレスのAPIでブログ記事更新の自動化を行う

 

import requests

# 記事を更新する関数

def wp_update_post(unique_id, changed_title, ids=None, media_id=None):
    url_base = 'https://anime-news.net'
    url = f'{url_base}/wp-json/wp/v2/posts/{unique_id}'

    # WordPress接続情報

    user = 'xxx' # ユーザー名
    password = 'xxxx xxxx xxxx xxxx xxxx xxxx' # アプリケーションパスワードで発行したパスワード

    params = {
        'title': changed_title,
        'categories':ids,
        'featured_media':media_id
    }

    res = requests.post(
        url,
        params=params,
        auth=(user, password),
        )

    return res

# 関数を実行
wp_update_post(80251, '更新したい投稿タイトル', [1], 1)

 

指定しない要素については更新されずそのままの状態が反映されます。また画像のIDは管理画面のメディアからアップロードした画像を個別に開いた際にURLにあるpost=xxxxの部分の数値が対応しています。

 

カテゴリーのIDの確認方法は→ 【Python】ワードプレスのAPIを使って特定のブログ内のカテゴリー名・カテゴリーIDを自動取得 の記事にて解説しています。

 

記事の内容やスラッグを変更したい場合はparams= の部分に対応するパラメーターを追加すればよいです。他のパラメーターについては公式ドキュメントを参照してください↓

 

APIドキュメント:https://developer.wordpress.org/rest-api/reference/posts/#update-a-post

 

 

関連記事:【Python】ワードプレスのサイトの記事一覧をAPIで自動取得する

関連記事:【Python】ワードプレスのREST APIを使って画像アップロードを自動化する

関連記事:【Python】WordPressのREST APIを使ってブログに記事を自動投稿する

 

 

 

参考:https://kamiki.blog/wordpress-api-update-posts-in-python/

 

コメント

タイトルとURLをコピーしました