feat(bulk-editor): supply post images through a filter - #23557
Open
thijsoo wants to merge 1 commit into
Conversation
thijsoo
changed the base branch from
trunk
to
feature/ai-alt-text-image-product
August 18, 2026 10:10
Coverage Report for CI Build 0Coverage decreased (-0.3%) to 56.338%Details
Uncovered Changes
Coverage Regressions1 previously-covered line in 1 file lost coverage.
Coverage Stats💛 - Coveralls |
This comment has been minimized.
This comment has been minimized.
thijsoo
force-pushed
the
1396-woo-seo---create-bulk-editor-integration-that-supplies-the-bulk-editor-with-woo-specifics
branch
from
August 27, 2026 13:07
e528c72 to
c5087a8
Compare
Adds an images field to the bulk editor Post DTO, filled through the new wpseo_bulk_editor_post_images filter, so add-ons such as Woo SEO can supply product images and their variations for the table. The filter and its non-array guard live in Post_Images_Trait, shared by both post collectors the way Post_Title_Trait already is, so images are supplied when indexables are disabled and the post meta collector is used too. The content type is threaded from the query into that collector so the filter receives it there as well. Images are deliberately supplied for posts the current user cannot edit: they are display data rather than the SEO metadata a locked row withholds. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> # Conflicts: # src/bulk-editor/domain/posts/post.php # src/bulk-editor/infrastructure/posts/indexable-posts-collector.php # src/bulk-editor/infrastructure/posts/post-meta-posts-collector.php # tests/Unit/Bulk_Editor/Domain/Posts/Post_Test.php # tests/Unit/Bulk_Editor/Domain/Posts/Posts_Page_Test.php # tests/Unit/Bulk_Editor/Infrastructure/Posts/Indexable_Posts_Collector/Get_Posts_Test.php # tests/Unit/Bulk_Editor/Infrastructure/Posts/Post_Meta_Posts_Collector/Get_Posts_Test.php
thijsoo
force-pushed
the
1396-woo-seo---create-bulk-editor-integration-that-supplies-the-bulk-editor-with-woo-specifics
branch
from
August 27, 2026 13:35
c5087a8 to
ccfb02d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Context
imagesfield on the bulk editor post, filled through a new filter, so an add-on can supply the images per post without Free knowing anything about products.Summary
This PR can be summarized in the following changelog entry:
Relevant technical choices:
Test instructions
Test instructions for the acceptance test before the PR gets merged
This PR can be acceptance tested by following these steps:
functions.php, then reload the bulk editor and check the browser's network tab: thepostsresponse should carry animagesvalue of{"thumbnail": "test"}for every row.imagesvalue is still present. Indexables can be disabled by addingadd_filter( 'Yoast\WP\SEO\should_index_indexables', '__return_false' );alongside the snippet.imagesvalue falls back to an empty object with no PHP notices in the log.Relevant test scenarios
Test instructions for QA when the code is in the RC
QA can test this PR by following these steps:
Impact check
This PR affects the following parts of the plugin, which may require extra testing:
imageskey, so any consumer that asserts on the exact response shape is affected.Other environments
[shopify-seo], added test instructions for Shopify and attached theShopifylabel to this PR.[yoast-doc-extension], added test instructions for Yoast SEO for Google Docs and attached theGoogle Docs Add-onlabel to this PR.Documentation
Quality assurance
grunt build:imagesand committed the results, if my PR introduces or edits images or SVGs.Innovation
innovationlabel.Fixes #