Welcartで商品を登録する際、価格や在庫以外の独自情報を持たせたくて、カスタムフィールドを使いたい場面があります。ところが、Advanced Custom Fields(ACF)で「投稿」向けにフィールドを作っても、Welcartの商品登録画面には表示されません。
結論から言うと、「WCEX Patch for ACF」というパッチプラグインを追加することで、ACFで作ったカスタムフィールドをWelcartの商品登録画面に表示できます。この記事では、その理由と導入手順を解説します。
Welcartの商品は、通常の「投稿」ではなく、Welcart独自の仕組みで管理されています。そのため、ACFの表示条件を「投稿」に設定しても、商品登録画面はその対象に含まれず、フィールドが出てこないというわけです。
もう少し具体的にいうと、Welcartの商品は専用の投稿タイプで扱われています。ACFの表示条件で選べる「投稿」は標準の投稿(post)を指すため、このWelcart独自の投稿タイプは対象から外れてしまうのです。条件をどう設定しても商品画面に出てこないのは、このズレが原因です。
この橋渡しをしてくれるのが、Welcart公式が配布しているパッチプラグインです。これを入れることで、ACFのフィールドをWelcartの商品登録画面でも扱えるようになります。
WCEX Patch for ACFは、Welcartの公式サイトからダウンロードできます。
パッチプラグイン配布ページからWCEX Patch for ACFをダウンロードしてください。
ダウンロードできたら、WordPressの管理画面から《プラグイン》→《新規追加》→《プラグインのアップロード》と進み、ダウンロードしたzipファイルをアップロードして、インストール・有効化します。これで準備は完了です。
なお、パッチプラグインはWelcartやACFのバージョンに依存します。導入前に、公式の配布ページで対応状況を確認しておくと安心です。既存サイトに追加する場合は、念のためバックアップを取ってから作業するとより安全です。
有効化すると、ACFで作成したフィールドグループが、Welcartの商品登録画面にも表示されるようになります。あとは通常のACFと同じように、商品ごとに値を入力するだけです。
これにより、たとえば「産地」「素材」「おすすめコメント」といった商品独自の情報を、商品ごとに管理できるようになります。また、価格などの値をカスタムフィールドに持たせておけば、それをキーにした並べ替え(ソート)機能なども実装しやすくなります。Welcartの標準項目だけでは表現しきれない情報を扱いたいときに、ACFとこのパッチは強力な組み合わせです。
登録した値を商品詳細ページなどのフロント側に表示するときは、通常のACFと同じくthe_field('フィールド名')やget_field('フィールド名')で出力できます。商品テンプレートに追記すれば、入力した産地やおすすめコメントなどをそのまま表示できます。このパッチはWelcart公式が提供しているものなので、安心して利用できるのも心強い点です。
Welcartは標準機能が充実していますが、商品ごとに独自の情報を持たせたい場面は必ず出てきます。ACFとパッチプラグインを組み合わせれば、商品管理の自由度が大きく広がります。