fix(woocommerce): image handling in paginated block#4149
Conversation
There was a problem hiding this comment.
I'm unsure if this change is having the intended effect.
In this branch or in trunk with Perfmatters, I can retrieve the thumbnail when changing pages, as long as I don't have a cached version before adding a thumbnail to the product.
If I navigate to a page with a product without a thumbnail, and set a thumbnail, it won't fetch it after navigating to the page again. There's no xhr/fetch request either, so I'm assuming there's some frontend cache at the WC block level.
|
I've re-tested locally and the setup is a bit more complicated. I've edited the testing steps. |
There was a problem hiding this comment.
Pull request overview
Updates the Newspack Perfmatters integration defaults to prevent WooCommerce product thumbnails from being affected by Perfmatters lazyload behavior that can break images in paginated “Hand-picked Products” blocks.
Changes:
- Adds
attachment-woocommerce_thumbnailto Perfmatterslazy_loading_exclusions. - Deduplicates both lazyload exclusion lists using
array_unique().
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Bypassing the changes-requested review since this was addressed and there was an approving review later. |
|
Hey @adekbadek, good job getting this PR merged! 🎉 Now, the Please check if this PR needs to be included in the "Upcoming Changes" and "Release Notes" doc. If it doesn't, simply remove the label. If it does, please add an entry to our shared document, with screenshots and testing instructions if applicable, then remove the label. Thank you! ❤️ |
# [6.38.0-alpha.1](v6.37.0...v6.38.0-alpha.1) (2026-04-16) ### Bug Fixes * `is_donor` read-only only on WooCommerce-backed donations ([1dde930](1dde930)) * **access-control:** fix incorrect class name ([#4638](#4638)) ([a7a7908](a7a7908)) * **access-control:** hide My Account group features if Memberships is still active ([#4650](#4650)) ([214fa0d](214fa0d)) * add object-level authorization to corrections REST endpoint ([#4643](#4643)) ([a39a62d](a39a62d)) * address false positives in subscription status alerts on My Account ([f7d6bb8](f7d6bb8)) * address false positives in subscription status alerts on My Account ([31c8313](31c8313)) * clear stored referrer data where referrer is none or local ([c7ef6f3](c7ef6f3)) * count `pending-cancel` by testing against our canonical constant ([2a1f85b](2a1f85b)) * count `pending-cancel` by testing against our canonical constant ([8906b64](8906b64)) * include products without children when reviewing active subscriptions ([d714f3c](d714f3c)) * include products without children when reviewing active subscriptions ([aae3da2](aae3da2)) * limit success and notice snackbar treatments to My Account page ([3b40bec](3b40bec)) * **my-account:** limit notice/success snackbar overrides to My Account ([49517c1](49517c1)) * normalize referrer data when comparing ([d377afb](d377afb)) * **reader-activation:** clear referrer data when none provided ([696012b](696012b)) * **reader-data:** make is_donor read-only only when platform has server-side tracking ([92b0d34](92b0d34)) * update docblock to reflect simple product support ([ea1f03e](ea1f03e)) * update docblock to reflect simple product support ([ba14f85](ba14f85)) * **woocommerce:** image handling in paginated block ([#4149](#4149)) ([1c91f6c](1c91f6c)) ### Features * **access-control:** advanced settings for RSS content restriction ([#4613](#4613)) ([85aa560](85aa560)) * **access-control:** update default patterns ([#4569](#4569)) ([7f9a6c9](7f9a6c9)) * add filter for future integrations to self-declare server-side (secure?) donor tracking ([76e40fc](76e40fc)) * add README.md for the Overlay Block ([#4651](#4651)) ([6d7de6e](6d7de6e)) * **advertising:** replace placements UI with inline expandable cards ([#4625](#4625)) ([e5de003](e5de003)) * **block-theme:** add overlay block for the block theme ([#4578](#4578)) ([af1e4b9](af1e4b9)) * **components:** update CardFeature button size and variant ([#4609](#4609)) ([1d03d4c](1d03d4c)) * **content-gate:** add per-block access control for Group, Stack, and Row blocks ([#4646](#4646)) ([5bdf458](5bdf458)) * **content-gate:** add POST method for external IP access checks ([#4598](#4598)) ([36bfeea](36bfeea)) * **google-site-kit:** enable custom GA frontend params by default ([#4664](#4664)) ([19830ce](19830ce)) * **handoff:** add URL-based handoff with customizable banner text ([#4603](#4603)) ([be59c68](be59c68)) * **integrations:** add My Account menu hook to integration abstraction ([#4640](#4640)) ([4ef2c91](4ef2c91)) * **integrations:** add subscription and donation metadata ([#4597](#4597)) ([ca928f8](ca928f8)) * **integrations:** implement profile metadata ([#4624](#4624)) ([b1daf85](b1daf85)) * make it easier to do "Block until consent given" setups in Complianz and improve blocking ([#4549](#4549)) ([44dda72](44dda72)) * reader activation segments ([#4604](#4604)) ([3821fed](3821fed)) * **reader-data:** add engagement fields ([#4594](#4594)) ([1cba4ef](1cba4ef)) * **reader-data:** store sync reconciliation ([#4633](#4633)) ([69bdda4](69bdda4)) * require reader to set name when commenting ([#4647](#4647)) ([db5ad73](db5ad73)) * session hydration ([#4618](#4618)) ([665b152](665b152)) ### Reverts * address false positives in subscription status alerts on My Account ([9d203b0](9d203b0))
|
🎉 This PR is included in version 6.38.0-alpha.1 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
All Submissions:
Changes proposed in this Pull Request:
Fixes an issue where images in a WooCommerce block with pagination ("Hand-picked Products") had images not loaded when updating the page. This was caused by Perfmatters' optimisation, which was not handled by WC.
How to test the changes in this Pull Request:
trunk, make sure you have Perfmatters and WooCommerce activeOther information: