Sample List

【Vue.js】No.007 Vue.jsからWP REST APIにアクセスし、カテゴリーを取得してみた

概要

以前のサンプルではWordPress内の記事を取得してみましたが、今回はカテゴリー情報を引っ張ってみたいと思います。
カテゴリー情報のリクエスト先は以下のようになります。

http://hoge.com/wp-json/wp/v2/categories/

コードサンプル

「カテゴリー取得」というボタンが有り、ボタンが押下されたらWordPressからカテゴリー情報を取得するという形にしたいと思います。
今回もaxiosというのを使いまので、下記のように予めJSを読み込んでおきましょう。

<script src="https://unpkg.com/vue"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

カテゴリー情報をリスト表示させたいと思いますので、HTMLは以下のようになります。

<div id="test1">
  <button v-on:click="getCategories()">カテゴリー取得</button>
  <ul v-for="cat in categories">
    <li>
      <a v-bind:href="cat.link" target="_blank">
        {{cat.name}}({{cat.count}})
      </a>
    </li>
  </ul>
</div>

「カテゴリー取得」ボタンとカテゴリー名リンク付き(該当件数表示も)が表示されるリストが設けられている状態ですね。
それでは、JSは以下のようにします。

new Vue( {
  el: '#test1',
  data: {
    categories: []
  },
  methods: {
    getCategories: function(){
      axios.get( '/wp01/wp-json/wp/v2/categories/' )
      .then( response => {
        this.categories = response.data;
      } )
      .catch( error => {
        window.alert( error );
      } );
    }
  }
} )

「カテゴリー取得」ボタンが押下されて実行される関数がgetCategoriesですね。
この関数により取得してきたJSONが元から用意されているcategoriesという空の配列に格納されるという形になります。
後はHTML側でfor文を使いループさせるという流れです。

動作確認

「カテゴリー取得」ボタンを押してみると、動作が確認できます!

一覧に戻る