Summary: Naprawa wp_body_open na podstronach WooCommerce
Objective
Przywrocic kompatybilnosc wp_body_open() dla podstron WooCommerce renderowanych przez shopowy naglowek Betheme, tak aby inpost-pay mogl wstrzyknac IPPWidgetOptions rowniez na stronach produktu i sklepu.
What Was Built
Area
Result
Betheme / WooCommerce header
Dodano <?php wp_body_open(); ?> bezposrednio po <body <?php body_class(); ?>> w wp-content/themes/betheme/header-shop.php.
Zakres innych podstron
Potwierdzono, ze standardowe strony uzywaja header.php, a WooCommerce uzywa header-shop.php; oba glowne frontendowe naglowki maja teraz wp_body_open().
Files Modified
wp-content/themes/betheme/header-shop.php - dodany brakujacy hook wp_body_open() dla sciezki WooCommerce.
.paul/STATE.md - zamkniecie loopa i zapis stanu po UNIFY.
.paul/codebase/impact_map.md - dopisany impact scan dla InPost Pay i WooCommerce header.
.paul/codebase/quality_risks.md - dopisane ryzyka dotyczace dwoch naglowkow i braku child theme.
.paul/codebase/tooling_status.md - zapis plan scan i post-apply scan.
.paul/codebase/radar/codebase-memory-plan.txt - surowe notatki ze skanu planu.
.paul/codebase/radar/codebase-memory-post-apply.txt - surowe notatki ze skanu po APPLY.
.paul/plans/20260521-1428-naprawa-wp-body-open-woocommerce/PLAN.md - status zmieniony na applied.
Acceptance Criteria Results
Criterion
Status
Evidence
AC-1
Pass
wp-content/themes/betheme/header-shop.php ma wp_body_open() bezposrednio po <body <?php body_class(); ?>>.
AC-2
Pass for code path; manual runtime check pending after deploy
inpost-pay podpina FrontWidgetV2::add_root_script_after_body_open do wp_body_open, a shopowy naglowek teraz uruchamia hook. Przegladarkowa weryfikacja URL-a produkcyjnego wymaga wdrozenia.
AC-3
Pass
Nie zmieniono pluginu inpost-pay, WooCommerce core, checkoutu, platnosci, dostaw ani konfiguracji bazy.
No syntax errors detected in wp-content\themes\betheme\header-shop.php.
Quality Radar Results
Status: degraded
New risks: brak nowych ryzyk runtime poza istniejacym ryzykiem zmian bez child theme.
Resolved risks: WooCommerce/product pages nie sa juz pominiete przez brak wp_body_open() w header-shop.php.
Deferred risks: brak child theme; nie naprawiane w tym hotfixie, bo zakres byl pilna kompatybilnosc InPost Pay.
Raw outputs: .paul/codebase/radar/codebase-memory-plan.txt, .paul/codebase/radar/codebase-memory-post-apply.txt.
Deviations
codebase-memory-mcp nie zakonczyl indeksowania repo w czasie 120s; zastosowano zawężony skan rg i bezposredni odczyt plikow.
Manualna weryfikacja produkcyjnego URL-a nie byla wykonywana lokalnie w tej sesji; pozostaje krokiem po wdrozeniu.
Key Decisions / Patterns
header.php pokrywa zwykle strony, a header-shop.php pokrywa strony WooCommerce; oba musza utrzymywac kompatybilnosc z wp_body_open().
Specjalne szablony z wlasnym <body> nie zostaly zmienione, bo nie obsluguja zglaszanej sciezki produktu.
Follow-up
Po wdrozeniu sprawdzic https://krolewskie-miody.pl/produkt/miod-borowkowy-400g/?showIzi=true w przegladarce i potwierdzic brak IPPWidgetOptions is not defined.
Przy kolejnej pracy nad motywem rozwazyc child theme, zeby hotfixy Betheme nie byly tracone przy aktualizacji.