参考書籍
業務効率化に向けたおすすめの参考書になります。
WordPressのブログを持っているけれど、毎回手動でログインして投稿するのはちょっと面倒…。そんな時、PythonとWordPress REST APIを使って、自動で記事を投稿する方法があるんです。この記事では、初心者でもステップバイステップでできるよう、具体的な手順を紹介していきます。
WordPress REST APIとは?
WordPress REST APIは、外部のプログラムからWordPressサイトにアクセスして、投稿の作成や更新、削除などを行うことができる機能です。このAPIを利用することで、ウェブサイトの管理をより柔軟に、自動的に行うことが可能になります。
事前準備
まずはじめに、Pythonのrequests
ライブラリが必要になります。このライブラリはHTTPリクエストを簡単に扱うことができます。もしインストールされていない場合は、コマンドラインやターミナルで以下のコマンドを実行してください。
pip install requests
WordPressの設定
WordPressでREST APIを使う前に、いくつかの設定が必要です。まず、サイトがREST APIを受け付けるようにしておく必要がありますが、最新のWordPressではデフォルトで有効になっています。
次に、APIを通じた操作には認証が必要です。簡単な方法は、Application Passwords
プラグインを使う方法です。これにより、専用のパスワードを生成して、APIを安全に利用できるようになります。
Pythonでの投稿作成
すべての準備が整ったら、Pythonスクリプトを書いて実際に投稿を自動化してみましょう。以下は基本的なスクリプトの例です。
import requests
# WordPressの設定
url = 'http://yourwordpresssite.com/wp-json/wp/v2/posts'
user = 'your_username'
password = 'your_application_password'
credentials = (user, password)
# 投稿データ
data = {
'title': 'Hello, World!',
'content': 'This is my first post created using the WordPress REST API.',
'status': 'publish'
}
# リクエストを送信
response = requests.post(url, auth=credentials, json=data)
# 結果を確認
if response.status_code == 201:
print('Post was successfully created.')
else:
print(f'Failed to create post. Status code: {response.status_code} - {response.text}')
HTMLコンテンツの扱い
content
フィールドにはHTMLコードを含めることができます。これにより、テキストだけでなく、画像、リンク、リストなど、多様なコンテンツを投稿内に埋め込むことが可能です。以下はHTMLコンテンツを含む例です。
data = {
'title': 'My HTML Post',
'content': '<p>This is a paragraph with some <strong>bold text</strong> and a <a href="http://example.com">link</a>.</p>',
'status': 'publish'
}
注意点
- パスワードなどの秘密情報は、スクリプト内に直接記述せず、環境変数などから読み込むようにしましょう。
- 実運用ではHTTPSを使って通信し、セキュリティを保ちましょう。
- 不正なコードの埋め込みに注意し、信頼できるコンテンツのみを使用しましょう。
WordPressとPythonを連携させることで、ブログの運営がより便利に、効率的になります。このガイドが皆さんの役に立てば幸いです。
コメント