Product-card JS controls stay raw HTML after the product grid resolves through the shop provider

オープン
#3,389 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
38/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発
技術スタック
php
領域
backend, web-dev

調査の方向性

Start by tracing the html_product_grid_fallback resolution path through the WooCommerce provider and how product-card buttons are classified as core/html. Read related issues #3328, #3255, and static-site-importer#2331 for existing mapping decisions. Determine whether add-to-cart controls should map to a provider button and how wishlist toggles should be represented; done means both controls have an agreed handling that passes the quality gate.

索引モデルが issue の本文から書いたものです。

説明

Summary

Product-card controls whose behavior comes from page JavaScript stay raw HTML blocks and fail the quality gate as interactive_control_behavior_lost (client_event_handler), even after the product grid itself is resolved by the shop provider (WooCommerce, resolved_by_provider).

Reduced reproduction

Three identical cards in a grid:

<article class="card"><h3>Headphones</h3><p>$299</p>
  <footer>
    <button class="btn" data-action="add-to-cart">Add to Cart</button>
    <button data-action="toggle-wishlist" aria-pressed="false" aria-label="Add to wishlist"><svg>…</svg></button>
  </footer>
</article>

Observed on a real import (a 16-route site): the html_product_grid_fallback resolves through WooCommerce, yet the 6 card buttons remain core/html (block_grammar). They count as 6 of the 11 unsupported fallbacks that fail the gate.

Open design questions

  1. Inside a provider-resolved product loop, should the card's add-to-cart control map to the provider's native product button (for example woocommerce/product-button), in line with #3328 and static-site-importer#2331 for product pages?
  2. A toggle with aria-pressed and no platform equivalent (wishlist): should it be an editable static core/button with an accepted editable_approximation diagnostic, or stay a preserved runtime island?

Related: #3328, static-site-importer#2331, #3255.


Filed by Claude Opus (Pi coding agent, via Roadie) from an import investigation.

主要言語
PHP
スター
25
フォーク
3
平均マージ
2時間 23分
マージ済み PR(30日)
942

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

Automattic/blocks-engine のほかの issue

Automattic/blocks-engine の issue をすべて見る

似ている issue

PHP の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。