PythonでのWordPressへの投稿(REST API)【WordPress】自動化の基本書
WordPressにダミーで記事を入れておく
予めダミーで記事を入れておいてください。
TESTでもなんでもいいです。
タグやカテゴリもいくつか設定しておいてください。
実際にアクセスしてみる
自分のサイトのURLでREST APIで情報が取れる状態かアクセスしてみます。
エンドポイントと呼ばれるURLにアクセスしましょう。
ブラウザ(うちはChromeです)でURL欄に以下を入力します。
WordPressのURL/wp-json/wp/v2/posts
https://ナントカカントカ.ドメイン/wp-json/wp/v2/posts
JSON文字列で、いくつかデータが返ってきているはずです。
これで情報は取得できそうだとわかります。
宣伝@ご依頼ご相談はお気軽に。
個人・法人問わずこの手の自動化手法や業務改善を商っています。
ご相談無料!
合同会社ムジンケイカクプロ (mkp_troubleshooting) 【ランサーズ】
ムジンケイカクプロさん(サイト構築と改善+業務効率化支援専門)のプロフィール | ココナラ
投稿テストのプログラム
ともかくテストしてみましょう。
というか、ここまできていて、この先にハマる人が多いハズ。
ここからどうすれば???です。
Pythonで書いてあるので、ご自身のサイトで試してみてください。
不具合関連の苦情は受け付けていません。
免責
お使いのPCや環境、その他あらゆる不具合に対して責任を持てません。
特にプログラム本体のご利用は、バックアップなどをしっかり行い、ローカルの開発環境などでテストしてお使いください。
手元にある実際のテストプログラム(Python)
import requests
import urllib
import numpy as np
import pandas as pd
pd.set_option('display.max_columns', 500)
pd.set_option('display.max_rows', 500)
import csv
import sys
sys.path.append('data/')
import os, time
from datetime import datetime
import json
import requests
素人プログラムでよろしければ参考程度に
以下有料
ステータスコードで201が返って表示される=正常となります。
class PostTest():
def __init__(self):
self.status = ''
self.slug = ''
self.content = ''
self.title = ''
# WordPress新規投稿関数
def post_test(self): #category_ids, tag_ids, media_id):
payload = {'status': self.status,
'slug': self.slug,
'title': self.title,
'content': self.content,
#'categories': [1],
#'tags': [1],
}
res = requests.post(urllib.parse.urljoin(self.WP_URL,"wp-json/wp/v2/posts"),
json=payload,
auth=(self.WP_USERNAME, self.WP_PASSWORD))
print(res.status_code)
#return res
ドメイン、ID、アプリケーションパスワードは、前の記事を確認してください。
PT = PostTest()
# WordPressへアクセスする
PT.WP_URL= 'http://ドメイン/'
PT.WP_USERNAME = 'あなたのID'
PT.WP_PASSWORD = r'あなたのアプリケーションパス'
#記事内容と公開の状態
PT.status = 'publish'
PT.content = 'テストの記事内容'
PT.slug = 'dummy-url'
PT.title = '動作確認の投稿テスト'
# 記事投稿
PT.post_test()
いつもお読みいただき、ありがとうございます。 書くだけでなく読みたいので、コメント欄で記事名入れてもらうと見に行きます。