6.5 KiB
plan_id, title, storage, legacy_phase, created, status, type, autonomous, delegation, files_modified, quality_radar
| plan_id | title | storage | legacy_phase | created | status | type | autonomous | delegation | files_modified | quality_radar | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 20260521-1428-naprawa-wp-body-open-woocommerce | Naprawa wp_body_open na podstronach WooCommerce | plan-first | null | 2026-05-21T14:32:06+02:00 | applied | execute | false | auto |
|
degraded |
Purpose
Plugin inpost-pay podpina inicjalizacje widgetu pod hook wp_body_open. Poprzednia poprawka objela header.php, ale produkty i strony sklepu laduja osobny header-shop.php, przez co IPPWidgetOptions nadal moze nie byc wstrzykiwany.
Output
Zmodyfikowany wp-content/themes/betheme/header-shop.php z <?php wp_body_open(); ?> bezposrednio po otwarciu znacznika <body>.
Source Files
@wp-content/themes/betheme/header.php @wp-content/themes/betheme/header-shop.php @wp-content/themes/betheme/woocommerce.php @wp-content/themes/betheme/single-template.php @wp-content/plugins/inpost-pay/src/hooks/front/FrontWidgetV2.php
- No clarifications needed.<impact_scan>
Quality Radar
Status: degraded
Tools: codebase-memory-mcp probowal zaindeksowac repo, ale timeoutowal po 120s; jscpd i ast-grep sa wylaczone przez .paul/config.md; uzyto zawezonych skanow rg i bezposredniego odczytu plikow.
Affected Areas
- Motyw Betheme / frontend WooCommerce -
wp-content/themes/betheme/header-shop.php,wp-content/themes/betheme/woocommerce.php,wp-content/themes/betheme/single-template.php. - Integracja InPost Pay -
wp-content/plugins/inpost-pay/src/hooks/front/FrontWidgetV2.php, ktory rejestruje skrypt podwp_body_open.
Duplicate / Hardcoded Risks
- Dwa osobne naglowki frontendowe (
header.phpiheader-shop.php) wymagaja tej samej kompatybilnosci z hookiem WordPress. Obsluga: Task 1 doda hook do wariantu shop, a Task 2 zweryfikuje wszystkie frontendowe<body>w motywie. - Brak child theme oznacza ryzyko nadpisania zmiany przy aktualizacji Betheme. Deferred: nie tworzymy child theme w tym hotfixie, bo zakres to pilna naprawa widgetu na podstronach.
Explicit Deferrals
- Nie modyfikujemy pluginu
inpost-pay; jego uzyciewp_body_openjest zgodne z mechanizmem WordPress. - Nie refaktoryzujemy struktury naglowkow Betheme ani nie tworzymy child theme w tym planie. </impact_scan>
<acceptance_criteria>
AC-1: Produkt WooCommerce uruchamia wp_body_open
Given strona produktu WooCommerce laduje naglowek `header-shop.php`
When WordPress renderuje znacznik `<body>`
Then `wp_body_open()` jest wywolane bezposrednio po `<body <?php body_class(); ?>>`
AC-2: InPost Pay ma punkt wstrzykniecia na podstronach sklepu
Given plugin `inpost-pay` rejestruje `FrontWidgetV2::add_root_script_after_body_open` na hooku `wp_body_open`
When uzytkownik otwiera produkt z `?showIzi=true`
Then kod `IPPWidgetOptions` moze zostac wstrzykniety tak jak na stronie glownej
AC-3: Zakres zmian pozostaje waski
Given hotfix dotyczy brakujacego hooka w motywie
When zmiana jest wykonana
Then nie sa modyfikowane pluginy, WooCommerce core, konfiguracja bazy ani niepowiazane szablony
</acceptance_criteria>
Task 1: Dodaj `wp_body_open()` do naglowka shop wp-content/themes/betheme/header-shop.php Dodaj `<?php wp_body_open(); ?>` bezposrednio po linii `>`, zachowujac analogiczny uklad jak w `wp-content/themes/betheme/header.php`. `rg -n "wp_body_open| AC-1, AC-2 Task 2: Zweryfikuj pozostale frontendowe warianty body wp-content/themes/betheme/header.php, wp-content/themes/betheme/header-shop.php, wp-content/themes/betheme/template-blank.php, wp-content/themes/betheme/under-construction.php Sprawdz wszystkie istotne frontendowe wystapienia ` `rg -n " AC-3 Task 3: Manualna weryfikacja widgetu InPost Pay na produkcie https://krolewskie-miody.pl/produkt/miod-borowkowy-400g/?showIzi=true Po wdrozeniu otworz wskazana strone produktu z `?showIzi=true`, sprawdz konsole przegladarki i potwierdz, ze nie wystepuje blad `IPPWidgetOptions is not defined`, a widget InPost Pay dziala na podstronie. Manual browser check on production/staging URL AC-2 ## Do Not Change - Nie modyfikowac `wp-content/plugins/inpost-pay/`. - Nie modyfikowac `wp-content/plugins/woocommerce/`. - Nie zmieniac checkoutu, metod platnosci, metod dostawy ani ustawien bazy. - Nie cofaj poprzedniej zmiany w `wp-content/themes/betheme/header.php`.Scope Limits
- Zakres obejmuje tylko brakujace
wp_body_open()w sciezce naglowka WooCommerce. - Child theme jest rekomendowanym kierunkiem na przyszlosc, ale nie jest czescia tego hotfixu.
<success_criteria>
- All AC pass.
header-shop.phpmawp_body_open()bezposrednio po<body>.- Nie ma bledu
IPPWidgetOptions is not definedna wskazanej stronie produktu po wdrozeniu. - Docs/radar reports updated when relevant. </success_criteria>