AstroでWordPress.orgのプラグイン情報を取得・表示する
個人ポートフォリオサイトをAstroで作り直し中です。 公開しているWordPressプラグインの情報を取得・表示したかったので、やり方をまとめました。 プラグイン情報をAPIから取得する方法 api.wordpress […]
広告ここから
広告ここまで
目次
個人ポートフォリオサイトをAstroで作り直し中です。
公開しているWordPressプラグインの情報を取得・表示したかったので、やり方をまとめました。
プラグイン情報をAPIから取得する方法
api.wordpress.org/plugins/info/1.2/?action=query_plugins
でWordPressプラグイン情報を検索・取得できます。
そこで検索用の関数を用意しました。
export const searchWordPressPlugins = async (query) => {
try {
const res = await fetch(
`https://api.wordpress.org/plugins/info/1.2/?action=query_plugins&${query}`,
)
const result = await res.json()
return result
} catch (e) {
console.log(e)
throw e
}
}
クエリを引数で渡すと、プラグイン情報を検索できます。
await searchWordPressPlugins('request[author]=hideokamoto')
Astroでデータ取得と表示を行う
検索関数をコンポーネントスクリプトに追加しましょう。
---
const plugins = await searchWordPressPlugins('request[author]=hideokamoto')
---
あとは取得したデータを元に、テンプレートを記述するだけです。
<ul>
{plugins.map(plugin => (
<li>
<a href={`https://wordpress.org/plugins/${plugin.slug}`}>{plugin.name}</a>
<span>{plugin.short_description}</span>
</li>
))}
</ul>
これで表示されました。