目次

    Interactive APIとは

    まず、Interactive APIとはどのようなものかというと、Interactive APIはWPブロック開発におけるフロントエンド側のブロック間のやり取り(interaction)の標準を提供するAPIです。
    これだけで説明しても理解しにくいですが、例えば、フルサイトエディティング(以降:FSE)で制作されたECサイトの以下の例をを考えてください。
    ECサイトの製品一覧ページにハートの形の気に入りボタンが付いている製品のカードのブロック(コンポーネント)とサイトのヘッダーに気に入りの件数を表示するブロック(コンポーネント)があると想定します。カードにおけるボタンをクリックすると、そのハートの背景色が変わり、そして、件数を表示するブロックにおける数字が自動的に変る処理をJSで実装したいとき、今までWPではその決まった方法がなく、開発者のやり方はバラバラでした。しかし、Interactive APIの導入でその処理用のview.jsのファイルを使い、標準に則って処理を行うようになります。

    Interactive APIを導入する条件

    Interactive APIはWP6.5で導入された機能のため、当然にそれ以降のWPのバージョンではないと導入できない機能です。但し、古いバージョンだと絶対に導入できないと訳ではなく、古いバージョンでもGutenbergを使って導入できます。ただ、Gutenbergを使っても、そのバージョンは17.5以上ではないといけないのです。

    ここまでは、Interactive APIの説明をしましたが、次はそのインストールの方法を説明します。

    Interactive APIの設定


    Interactive APIのインストールと必要となる設定は以下の感じになります。

    まず、以下のコマンドでパッケージをインストールします。
    npm install @wordpress/interactivity --save

    次は対象ブロックのblock.jsonファイルのサポートに「interactivity」をtrueにします。

    "supports": {
        "interactivity": true
    }

    そして、上述したようにInteractive APIを導入することで、ブロック関連の動的な処理はview.jsのファイルで行うようになるため、「viewScriptModule」にview.jsのファイルを以下のように指定しないといけません。

    {
       ...
       "viewScriptModule": "file:./view.js"
    }

    最後はpackage.jsonのファイルにおけるbuildとstartのコマンドに以下のように「--experimental-modules」のフラグを追加しないといけません。

    {
        "scripts": {
            ...
            "build": "wp-scripts build --experimental-modules",
            "start": "wp-scripts start --experimental-modules"
        }

    それで設定が全て終わり、対象ブロックのview.jsのファイルに使用するメソッドをインポートして使えます。

    終わりに

    この記事では、Interactive APIとは何なのか、そして、その導入の方法を説明しました。
    今度は、view.jsとrender.phpのファイルにどのように使えるかを説明したいと思います。

    PREV
    2025.04.04
    デザインの役割
    NEXT
    2025.04.05
    WEBディレクターが知っておくべきAWSの基礎知識【初心者向け第2回】