WP REST APIについて
wordpressにはWP REST APIがあって、特定のURLからデータを引っ張ってこれる。設定するURLにはそれぞれパラメーターがあって、好きな情報を取得することができる。
基本となるURLは以下。hogehoge.comのところはご自身のURLを設定してください。
https://hogehoge.com/wp-json/wp/v2
このURLには欲しい情報に応じて、複数のパラメーターが指定できる。例えば記事一覧を取得したい場合は以下のURLを使います。
https://hogehoge.com/wp-json/wp/v2/posts
記事一覧の中にサムネイル画像の情報を入れたい場合は以下です。
https://hogehoge.com/wp-json/wp/v2/posts?_embed
記事数を3ページと指定して、さらにサムネイル画像情報も入れる場合は以下です。記事数はMAX100記事まで取得できます。
https://hogehoge.com/wp-json/wp/v2/posts?per_page=3&_embed
必要な情報だけを指定することもできます。その場合はfieldを使います。
例えば以下では記事数を5ページにして、title、link、date、excerptの情報だけを取得しています。fieldsで出力条件を絞った場合、embedのサムネイル情報は指定しても取得できなかった。。
https://hogehoge.com/wp-json/wp/v2/posts?per_page=5&_fields=title,date,link,excerpt
サムネイル画像も含めて、基本的な情報がほしいのであれば以下の指定で十分です。
https://hogehoge.jp/wp-json/wp/v2/posts?context=embed
//記事数も一緒に指定する場合は以下
https://hogehoge.com/wp-json/wp/v2/posts?per_page=5&context=embed
それ以外にも固定ページ、カスタム投稿、タクソノミー、コメント一覧など、取得することが可能です。
//個別ページ
https://hogehoge.jp/wp-json/wp/v2/pages
//カテゴリー
https://hogehoge.com/wp-json/wp/v2/categories
//タクソノミー
https://hogehoge.jp/wp-json/wp/v2/taxonomies
//タグ
https://hogehoge.com/wp-json/wp/v2/tags
//カスタム投稿名(カスタム投稿名memoの場合)
https://hogehoge.jp/wp-json/wp/v2/memo
//コメント
https://hogehoge.com/wp-json/wp/v2/comments
//特定の記事(投稿タイプと投稿IDを指定)
https://hogehoge.com/wp-json/wp/v2/posts/1087
実際にどのように使うのか
JavaScriptのfetchメソッドを使ってURLからデータを取得します。
fetch("https://yumegori.com/wp-json/wp/v2/posts?_embed&per_page=3")
.then((response) => response.json())
.then((data) => {
for (const elem of data) {
const dateInner = `
タイトル:${elem.title.rendered}
サムネイルURL:${elem._embedded["wp:featuredmedia"][0].source_url}
`;
console.log(dateInner);
}
});
これをコンソールで見ると以下です。
タイトルとサムネイルURLが取得できていることがわかります。
