Add dynamic social share images for plugin pages (Meta #5926)#706
Add dynamic social share images for plugin pages (Meta #5926)#706mathetos wants to merge 2 commits into
Conversation
Plugin pages now get a proper preview image when someone shares a link on social media. You get the title, description, icon, and a few key stats in one clean 1200x630 image. This follows what Dion asked for on #5926: build it in PHP, keep it simple, and serve dynamic images the same way we already do with geopattern icons so the CDN can cache them. Jetpack stays installed, and on plugin pages we let it step aside for Open Graph and Twitter tags so social platforms use our image. The layout uses a small set of constants and a straightforward stats grid that holds up across different plugin titles and descriptions. The change stays focused on the plugin directory and theme meta tags, and it passes PHPUnit and PHPCS. Sample output (Gutenberg): 
|
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the Core Committers: Use this line as a base for the props when committing in SVN: To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
obenland
left a comment
There was a problem hiding this comment.
This looks like a good start!
Overall I think it could benefit from a few iterations on simplification, WordPress coding and docs standards, and tests. Removing abstractions, be more specific to what we actually need, have tests be meaningful, etc. Can Plugin_Share_Image be half the size?
| }, | ||
| "lifecycleScripts": { | ||
| "afterStart": "bash plugin-directory/bin/after-start.sh" | ||
| "afterStart": "node plugin-directory/bin/after-start.js" |
There was a problem hiding this comment.
What makes this change necessary?
| <?php | ||
| namespace WordPressdotorg\Plugin_Directory; | ||
|
|
||
| require_once __DIR__ . '/class-plugin-share-image-layout.php'; |
There was a problem hiding this comment.
This should be covered by the autoloader?
| /** | ||
| * @group share-image | ||
| */ | ||
| class Plugin_Share_Image_Layout_Test extends TestCase { |
There was a problem hiding this comment.
The tests in this class are not helpful.
Fixes https://meta.trac.wordpress.org/ticket/5926
Plugin pages now get a proper preview image when someone shares a link on social media. You get the title, description, icon, and a few key stats in one clean 1200x630 image.
This follows what Dion asked for on #5926: build it in PHP, keep it simple, and serve dynamic images the same way we already do with geopattern icons so the CDN can cache them. Jetpack stays installed, and on plugin pages we let it step aside for Open Graph and Twitter tags so social platforms use our image.
The layout uses a small set of constants and a straightforward stats grid that holds up across different plugin titles and descriptions. The change stays focused on the plugin directory and theme meta tags, and it passes PHPUnit and PHPCS.
Sample output
Test plan
/share-image/{slug}.jpgon a plugin page and confirm JPEG rendersog:imagepoints at the share image URLog:imagetags on plugin pages