{"id":243658,"date":"2025-08-03T19:06:03","date_gmt":"2025-08-03T19:06:03","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/social-media-card-generator\/"},"modified":"2026-09-21T11:46:25","modified_gmt":"2026-09-21T11:46:25","slug":"social-media-card-generator","status":"publish","type":"plugin","link":"https:\/\/tw.wordpress.org\/plugins\/social-media-card-generator\/","author":23335058,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.5.4","stable_tag":"1.5.4","tested":"7.1.1","requires":"5.0","requires_php":"7.0","requires_plugins":null,"header_name":"Social Media Card Generator","header_author":"Panupan Sriautharawong","header_description":"Allows users to easily create custom social media cards for posts directly within the WordPress Post Creation\/Edit page.","assets_banners_color":"","last_updated":"2026-09-21 11:46:25","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":10,"downloads":610,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.4.2":{"tag":"1.4.2","author":"peal333","date":"2025-08-03 19:31:27","revision":3338597},"1.5.4":{"tag":"1.5.4","author":"peal333","date":"2026-09-21 11:46:25","revision":3705520}},"upgrade_notice":{"1.5.4":"<p>Removes a redundant AIOSEO internal-hook invocation to satisfy WordPress Plugin Check without changing the working Facebook\/Twitter social-image integration.<\/p>","1.5.3":"<p>Adds WordPress 7.1-compatible post-title synchronization while preserving backwards compatibility with Classic Editor and older WordPress editor implementations.<\/p>","1.5.2":"<p>Improves the post-box header, immediately refreshes AIOSEO social fields, fixes TTF upload compatibility, and adds Open Sans reset controls.<\/p>","1.5.1":"<p>Fixes AIOSEO integration, adds Twitter\/X social-image support, and remembers the AIOSEO option per user.<\/p>","1.5.0":"<p>Adds typography, font uploads, optional AIOSEO integration, a redesigned admin UI, and defaults that reproduce the previous hardcoded visual style.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3338585,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.4.2","1.5.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3338598,"resolution":"1","location":"assets","locale":"","width":640,"height":406},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3338598,"resolution":"2","location":"assets","locale":"","width":1168,"height":1408},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3338598,"resolution":"3","location":"assets","locale":"","width":480,"height":952}},"screenshots":{"1":"Redesigned settings page with template and typography controls.","2":"Typography and custom-font controls.","3":"Post editor with remembered AIOSEO social-image option, Media Library success message, and generated-card preview."}},"plugin_section":[],"plugin_tags":[245787,265311,6487,132923,245786],"plugin_category":[],"plugin_contributors":[245789],"plugin_business_model":[],"class_list":["post-243658","plugin","type-plugin","status-publish","hentry","plugin_tags-card-generator","plugin_tags-facebook-image","plugin_tags-open-graph","plugin_tags-social-image","plugin_tags-social-media-card","plugin_contributors-peal333","plugin_committers-peal333"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/social-media-card-generator\/assets\/icon-256x256.png?rev=3338585","icon_2x":"https:\/\/ps.w.org\/social-media-card-generator\/assets\/icon-256x256.png?rev=3338585","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/social-media-card-generator\/assets\/screenshot-1.png?rev=3338598","caption":"Redesigned settings page with template and typography controls."},{"src":"https:\/\/ps.w.org\/social-media-card-generator\/assets\/screenshot-2.png?rev=3338598","caption":"Typography and custom-font controls."},{"src":"https:\/\/ps.w.org\/social-media-card-generator\/assets\/screenshot-3.png?rev=3338598","caption":"Post editor with remembered AIOSEO social-image option, Media Library success message, and generated-card preview."}],"raw_content":"<!--section=description-->\n<p>Social Media Card Generator creates branded Open Graph\/social sharing images directly from the WordPress post editor. Choose a background template, configure your typography, generate the card, and save it automatically to the WordPress Media Library.<\/p>\n\n<p>Version 1.5.4 refines AIOSEO integration for WordPress.org Plugin Check compliance while retaining WordPress 7.1-compatible title synchronization and backwards-compatible editor behavior.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Generate social sharing images from the WordPress post editor.<\/li>\n<li>Use a custom Media Library image as the card template.<\/li>\n<li>Configure title and description fonts independently, with one-click controls to return either layer to bundled Open Sans.<\/li>\n<li>Upload administrator-only TrueType (.ttf) fonts without enabling arbitrary font uploads across the Media Library.<\/li>\n<li>Adjust font size, text color, vertical position, and left\/center\/right alignment.<\/li>\n<li>Configure an optional text shadow; it is disabled by default.<\/li>\n<li>Save generated cards as JPEG or PNG Media Library attachments.<\/li>\n<li>Set JPEG quality.<\/li>\n<li>Show a success message with the generated filename after saving.<\/li>\n<li>Optionally set the generated card as both the AIOSEO Facebook and Twitter\/X custom image when a compatible AIOSEO version is active.<\/li>\n<li>Remember the AIOSEO social-image checkbox preference separately for each WordPress user.<\/li>\n<li>Render locally with PHP GD; no remote rendering service is required.<\/li>\n<\/ul>\n\n<p>The default typography matches the plugin's previous hardcoded card style: title color #F0F8FF, description color #E0E0E0, and no text shadow.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin ZIP from Plugins &gt; Add New &gt; Upload Plugin, or copy the <code>social-media-card-generator<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate Social Media Card Generator.<\/li>\n<li>Go to Settings &gt; Social Media Card Generator.<\/li>\n<li>Choose a template image. A 1200 x 630 px image is recommended.<\/li>\n<li>Configure the title, description, shadow, fonts, alignment, and output options.<\/li>\n<li>Save the settings.<\/li>\n<li>Edit a post, open the Social Media Card Generator panel, and click Generate Card.<\/li>\n<\/ol>\n\n<p>New posts must be saved as a draft once before generation so WordPress has a post ID for the generated Media Library attachment.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20server%20features%20are%20required%3F\"><h3>What server features are required?<\/h3><\/dt>\n<dd><p>The plugin requires PHP GD with FreeType support. The functions <code>imagettftext()<\/code> and <code>imagettfbbox()<\/code> must be available. The WordPress uploads directory must also be writable.<\/p><\/dd>\n<dt id=\"what%20template%20size%20should%20i%20use%3F\"><h3>What template size should I use?<\/h3><\/dt>\n<dd><p>1200 x 630 px is recommended for the common Open Graph 1.91:1 image ratio. Template source files are limited to 5 MB.<\/p><\/dd>\n<dt id=\"which%20font%20formats%20can%20i%20upload%3F\"><h3>Which font formats can I upload?<\/h3><\/dt>\n<dd><p>TrueType <code>.ttf<\/code> files are supported for custom fonts. Version 1.5.2 accounts for server-specific TTF MIME detection while keeping the temporary MIME allowance limited to the plugin's authenticated font-upload request. Uploaded files are checked for a TrueType signature and validated with the server's GD\/FreeType implementation before being added to the font selectors.<\/p><\/dd>\n<dt id=\"where%20are%20custom%20fonts%20stored%3F\"><h3>Where are custom fonts stored?<\/h3><\/dt>\n<dd><p>Custom fonts are stored in <code>wp-content\/uploads\/social-media-card-generator\/fonts\/<\/code>. They are not added to the Media Library and the plugin does not globally enable font MIME types for other WordPress uploads.<\/p><\/dd>\n<dt id=\"can%20the%20title%20and%20description%20use%20different%20fonts%3F\"><h3>Can the title and description use different fonts?<\/h3><\/dt>\n<dd><p>Yes. The Title Typography and Description Typography sections each have their own font selector. Click <strong>Use Open Sans<\/strong> beside either selector to return that text layer to the bundled default, then save the settings.<\/p><\/dd>\n<dt id=\"what%20are%20the%20default%20text%20colors%3F\"><h3>What are the default text colors?<\/h3><\/dt>\n<dd><p>The title defaults to <code>#F0F8FF<\/code> and the description defaults to <code>#E0E0E0<\/code>. Text shadow is disabled by default. These defaults match the previous hardcoded version of the plugin.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20send%20data%20to%20an%20external%20service%3F\"><h3>Does this plugin send data to an external service?<\/h3><\/dt>\n<dd><p>No. Cards are rendered locally on the WordPress server. Custom fonts remain on the site. The optional AIOSEO integration communicates only with the locally installed AIOSEO plugin.<\/p><\/dd>\n<dt id=\"how%20does%20the%20aioseo%20integration%20work%3F\"><h3>How does the AIOSEO integration work?<\/h3><\/dt>\n<dd><p>When a compatible, active version of AIOSEO is detected, the post editor shows an optional checkbox above Generate Card. If checked, the newly generated Media Library image is saved as both the post's AIOSEO Facebook and Twitter\/X Custom Image. The checkbox preference is remembered per WordPress user. Version 1.5.2 also synchronizes AIOSEO's live post-editor state so the current-page social fields update immediately without a page reload. The image-generation result and AIOSEO-update result are reported separately.<\/p><\/dd>\n<dt id=\"why%20is%20aioseo%20installed%20but%20the%20checkbox%20is%20unavailable%3F\"><h3>Why is AIOSEO installed but the checkbox is unavailable?<\/h3><\/dt>\n<dd><p>AIOSEO must be active and expose the supported post-model API. If it is inactive or too old, Social Media Card Generator displays a notice instead of the checkbox.<\/p><\/dd>\n<dt id=\"who%20is%20responsible%20for%20custom%20font%20licensing%3F\"><h3>Who is responsible for custom font licensing?<\/h3><\/dt>\n<dd><p>Site administrators are responsible for making sure they have permission to use uploaded fonts. Open Sans is bundled under the SIL Open Font License 1.1, and its license is included with the plugin.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.5.4<\/h4>\n\n<ul>\n<li>Removed the redundant direct invocation of AIOSEO's internal <code>aioseo_insert_post<\/code> action after social-image updates.<\/li>\n<li>Kept the verified AIOSEO model save and metadata-cache invalidation path, avoiding duplicate save side effects while satisfying WordPress Plugin Check hook-prefix requirements.<\/li>\n<\/ul>\n\n<h4>1.5.3<\/h4>\n\n<ul>\n<li>Added iframe-safe card-title synchronization for the WordPress 7.1 block editor by reading the edited post title from the WordPress data store.<\/li>\n<li>Kept the existing DOM-based title listener as a backwards-compatible fallback for Classic Editor and older editor implementations.<\/li>\n<li>Added the WordPress <code>wp-data<\/code> script dependency only on post-edit screens.<\/li>\n<li>Updated WordPress compatibility metadata through 7.1.<\/li>\n<\/ul>\n\n<h4>1.5.2<\/h4>\n\n<ul>\n<li>Restored the full Social Media Card Generator meta-box title and native WordPress header spacing.<\/li>\n<li>Synced AIOSEO's current-page Facebook and Twitter\/X fields after successful generation without requiring a page reload.<\/li>\n<li>Fixed valid TTF uploads on servers that report alternate font MIME types while keeping font MIME handling scoped to the plugin upload request.<\/li>\n<li>Added TrueType signature and FreeType readability validation before storing custom fonts.<\/li>\n<li>Added Use Open Sans controls for both title and description typography.<\/li>\n<\/ul>\n\n<h4>1.5.1<\/h4>\n\n<ul>\n<li>Improved the post-editor meta-box header for narrow WordPress sidebars.<\/li>\n<li>Fixed AIOSEO social-image updates by preserving the existing AIOSEO post model instead of sending a partial full-save payload.<\/li>\n<li>Added Twitter\/X custom-image updates alongside Facebook.<\/li>\n<li>Added a per-user remembered AIOSEO social-image preference.<\/li>\n<li>Added verification and cache invalidation after AIOSEO social-image updates.<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Added independent title and description font selection.<\/li>\n<li>Added administrator-only TrueType font uploads stored in WordPress uploads.<\/li>\n<li>Added title and description color controls with hardcoded-version defaults.<\/li>\n<li>Added left, center, and right alignment.<\/li>\n<li>Added optional configurable text shadow, disabled by default.<\/li>\n<li>Redesigned the settings page and post-editor generator UI.<\/li>\n<li>Added a success message containing the generated Media Library filename.<\/li>\n<li>Fixed HTML entities showing in the title field.<\/li>\n<li>Added optional AIOSEO Facebook-image integration.<\/li>\n<li>Improved per-post permissions, sanitization, validation, and escaping.<\/li>\n<li>Added the Open Sans license and refreshed documentation artwork.<\/li>\n<li>Removed development-only files from the release package.<\/li>\n<\/ul>\n\n<h4>1.4.2<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Generate branded social images from the post editor with custom typography, local fonts, Media Library saving, and optional AIOSEO integration.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/243658","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=243658"}],"author":[{"embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/peal333"}],"wp:attachment":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=243658"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=243658"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=243658"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=243658"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=243658"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=243658"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}