WP REST API
endpoint
https://xxx.com/wp-json/wp/v2/posts
https://xxx.com/wp-json/wp/v2/posts/{post id}
https://xxx.com/wp-json/wp/v2/posts?per_page=10&page=3
記事の取得
<div id='wrap'></div>
<script>
document.addEventListener('DOMContentLoaded', function(){
fetch('https://xxx.com/wp-json/wp/v2/posts')
.then(response => response.json())
.then(posts => {
console.log(posts);
const wrap = document.getElementById('wrap');
posts.forEach(post => {
const div = document.createElement('div');
div.classList.add('post');
div.innerHTML = `
<h2>${post.title.rendered}</h2>
<time>${new Date(post.date).toLocaleDateString()}</time>
<a href='${post.link}'>see more</a>
`;
wrap.appendChild(div);
});
})
.catch(error => console.log('失敗したよ:' + error));
});
</script>
※取得元のサイトがWordPressを使っていない場合はスクレイピング(PHPやPYTHON)を使用
記事の投稿(途中)
<?php
# アップロード先
$wp_url = 'https://xxx.com';
# アップロードするファイルのある場所
$upload_img = __DIR__.'/download/';
# 画像ファイル名
$upload_img = 'sample.jpg';
$file_info = new finfo(FILEINFO_MIME_TYPE);
$file_mime = $file_info->file($file_tmp);
$request_header = [
'Authorization: Basic' . base64_encode('{API投稿ユーザー名}' . ':' . '{設定したAPI用のパス}'),
'Content-Disposition: attachment; filename="%s"' . $file_name,
'Content-Type:' . $file_mime,
];
# API叩く
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $base_url.'/wp-json/wp/v2/media');
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($curl, CURLOPT_HTTPHEADER, $request_header);
curl_setopt($curl, CURLOPT_SSL_VERIFYEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSPER, true);
$result = curl_exec($curl);
curl_close($curl);
# 成功すればIDとかが返ってくるので取っておく
$media_id = '';
if (empty($result)) {
echo "画像ID>失敗" . PHP_EQL;
end();
}
$media_id = json_decode($result, true)['id'];
echo "画像ID>" . $media_id . PHP_EQL;
?>
記事の投稿はデスクトップのtest.phpをVisualStudioCodeで開いてVSCode上で実行する。その際に、PHPをダウンロードし、PHPをシステムの環境パスに通す必要がある。システム環境パスの通し方は以下の通り。
手順 1: PHPのインストールパスを確認
- PHPを解凍した場所(例えば、
C:\Users\YourUsername\Documents\php
)を確認します。 php.exe
があるディレクトリ(通常は解凍したフォルダの中)をメモします。
手順 2: 環境変数にPHPのパスを追加
- スタートメニューを開き、「環境変数」と入力して、「システム環境変数の編集」を選択します。
- システムのプロパティウィンドウが開いたら、下の方にある「環境変数(N)…」ボタンをクリックします。
- 環境変数ウィンドウで、システム環境変数セクションにある「Path」を選択し、「編集」をクリックします。
- 編集環境変数ウィンドウで、「新規」ボタンをクリックして、PHPを解凍したフォルダ(例:
C:\Users\YourUsername\Documents\php
)を追加します。フォルダのパスはphp.exe
がある場所です。例:plaintextコードをコピーするC:\Users\YourUsername\Documents\php
- 「OK」をクリックして、すべてのウィンドウを閉じます。
手順 3: ターミナルを再起動して確認
- 新しいターミナルを開きます。既に開いているターミナルウィンドウを閉じ、再度開くことで、新しく設定された環境変数を反映させます。
php -v
コマンドを再度入力して、PHPのバージョン情報が表示されるか確認します。shコードをコピーするphp -v
その後、ドキュメントのphpフォルダを開くとphp.ini-developmentとphp.ini-productionというファイルがあるが、php.ini-developmentをphp.iniにリネームし、php.iniを開いて「;extension=fileinfo」のコメントアウトを外す。(extension=fileinfoとする)。
ホームに戻る