{"id":259202,"date":"2025-11-17T23:56:15","date_gmt":"2025-11-17T23:56:15","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/replace-media\/"},"modified":"2026-05-15T14:47:18","modified_gmt":"2026-05-15T14:47:18","slug":"smart-media-replacement","status":"publish","type":"plugin","link":"https:\/\/fr-be.wordpress.org\/plugins\/smart-media-replacement\/","author":3657560,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.2.1","stable_tag":"1.2.1","tested":"7.0","requires":"6.6","requires_php":"7.4","requires_plugins":null,"header_name":"Smart Media Replacement","header_author":"Troy Chaplin","header_description":"This plugin allows you to replace media in the media library.","assets_banners_color":"598d82","last_updated":"2026-05-15 14:47:18","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":339,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"areziaal","date":"2025-11-17 23:55:49"},"1.1.0":{"tag":"1.1.0","author":"areziaal","date":"2026-05-14 11:43:41"},"1.1.1":{"tag":"1.1.1","author":"areziaal","date":"2026-05-14 14:26:30"},"1.2.0":{"tag":"1.2.0","author":"areziaal","date":"2026-05-15 02:19:07"},"1.2.1":{"tag":"1.2.1","author":"areziaal","date":"2026-05-15 14:47:18"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3397667,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3397667,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3397667,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0","1.1.1","1.2.0","1.2.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3532127,"resolution":"1","location":"assets","locale":"","width":1610,"height":1256},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3532127,"resolution":"2","location":"assets","locale":"","width":1740,"height":1340},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3532127,"resolution":"3","location":"assets","locale":"","width":1758,"height":1338},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3532127,"resolution":"4","location":"assets","locale":"","width":2124,"height":860},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3532127,"resolution":"5","location":"assets","locale":"","width":2120,"height":1276},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3532127,"resolution":"6","location":"assets","locale":"","width":2120,"height":1418},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3532127,"resolution":"7","location":"assets","locale":"","width":1844,"height":1560}},"screenshots":{"1":"Update an inserted image straight from the block toolbar \u2014 no page reload, no lost work.","2":"Pick a replacement file and add an optional note describing what changed.","3":"Replacements are validated against the original \u2014 file type, filename, and image dimensions \u2014 so URLs stay stable and layouts stay intact.","4":"Replace files or view revisions directly from the Media Library row actions.","5":"Same replacement flow from the attachment edit screen, with the optional replacement note.","6":"Browse, restore, or download past versions \u2014 or grab the full history as a ZIP \u2014 all from one panel.","7":"Configure revision retention, file-type tracking, comment requirements, and deactivation cleanup from one settings page."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2264,84,1764,7854,6243],"plugin_category":[50],"plugin_contributors":[231290],"plugin_business_model":[],"class_list":["post-259202","plugin","type-plugin","status-publish","hentry","plugin_tags-attachment","plugin_tags-media","plugin_tags-pdf","plugin_tags-replace","plugin_tags-revisions","plugin_category-media","plugin_contributors-areziaal","plugin_committers-areziaal"],"banners":{"banner":"https:\/\/ps.w.org\/smart-media-replacement\/assets\/banner-772x250.png?rev=3397667","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/smart-media-replacement\/assets\/icon-128x128.png?rev=3397667","icon_2x":"https:\/\/ps.w.org\/smart-media-replacement\/assets\/icon-256x256.png?rev=3397667","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/smart-media-replacement\/assets\/screenshot-1.png?rev=3532127","caption":"Update an inserted image straight from the block toolbar \u2014 no page reload, no lost work."},{"src":"https:\/\/ps.w.org\/smart-media-replacement\/assets\/screenshot-2.png?rev=3532127","caption":"Pick a replacement file and add an optional note describing what changed."},{"src":"https:\/\/ps.w.org\/smart-media-replacement\/assets\/screenshot-3.png?rev=3532127","caption":"Replacements are validated against the original \u2014 file type, filename, and image dimensions \u2014 so URLs stay stable and layouts stay intact."},{"src":"https:\/\/ps.w.org\/smart-media-replacement\/assets\/screenshot-4.png?rev=3532127","caption":"Replace files or view revisions directly from the Media Library row actions."},{"src":"https:\/\/ps.w.org\/smart-media-replacement\/assets\/screenshot-5.png?rev=3532127","caption":"Same replacement flow from the attachment edit screen, with the optional replacement note."},{"src":"https:\/\/ps.w.org\/smart-media-replacement\/assets\/screenshot-6.png?rev=3532127","caption":"Browse, restore, or download past versions \u2014 or grab the full history as a ZIP \u2014 all from one panel."},{"src":"https:\/\/ps.w.org\/smart-media-replacement\/assets\/screenshot-7.png?rev=3532127","caption":"Configure revision retention, file-type tracking, comment requirements, and deactivation cleanup from one settings page."}],"raw_content":"<!--section=description-->\n<p>Ever updated a PDF and realized half your site links to the old version? Or replaced a hero image and watched your carefully-tuned page layout collapse? Smart Media Replacement solves both problems \u2014 and adds a safety net you'll wish you had earlier.<\/p>\n\n<p><strong>Replace the file, keep the URL.<\/strong> When you swap an attachment with this plugin, the file's URL never changes. Every existing link, every email that points to it, every page that embeds it, every SEO ranking \u2014 all of it keeps working. No 404s, no broken references, no scrambling to update old content.<\/p>\n\n<p><strong>Full revision history, one-click restore.<\/strong> Every replacement automatically snapshots the previous version. Made a mistake? Roll back instantly. Want to see what the file looked like three months ago? Download it. Each revision is timestamped, attributed to the user who made it, and can carry an optional note describing what changed.<\/p>\n\n<p><strong>Works where you work.<\/strong> Replace from the Media Library, or from inside any block's Replace toolbar in the block editor \u2014 image, cover, video, audio, file, gallery, and more. The editor refreshes in place, no page reload, no lost work.<\/p>\n\n<p><strong>Safe by default.<\/strong> The plugin validates filenames, file types, and image dimensions to keep your URLs intact and your layouts unbroken. WordPress's auto-scaled images are handled transparently. Revisions land in a database table that's self-healing on every admin load, and the plugin's settings page gives you control over how many revisions to keep, how long to retain them, and which file types are tracked.<\/p>\n\n<h4>Use cases<\/h4>\n\n<ul>\n<li><strong>Monthly reports and newsletters<\/strong> \u2014 Update PDFs linked from past emails without breaking any of those links.<\/li>\n<li><strong>Brand refreshes<\/strong> \u2014 Replace logos, headers, and brand imagery once; everywhere they're used updates automatically.<\/li>\n<li><strong>Legal documents<\/strong> \u2014 Keep current versions of terms of service, privacy policy, and contracts live, with older versions preserved as revisions for compliance.<\/li>\n<li><strong>Image updates<\/strong> \u2014 Refresh product photos, blog hero images, and marketing assets without breaking responsive sizes or SEO.<\/li>\n<li><strong>Typo fixes in published assets<\/strong> \u2014 Fix errors in infographics, downloadable guides, or e-books without scrambling to update references across your site.<\/li>\n<li><strong>Versioned downloads<\/strong> \u2014 White papers, e-books, technical docs that need to stay at a stable URL while preserving older versions on demand.<\/li>\n<\/ul>\n\n<h4>Features<\/h4>\n\n<p><strong>Replacement and URL preservation<\/strong><\/p>\n\n<ul>\n<li>Replace any media file while keeping its URL, ID, and metadata intact<\/li>\n<li>Existing internal and external links keep working \u2014 no 404s, no SEO impact<\/li>\n<li>Automatic regeneration of image size variants (thumbnails, medium, large, etc.)<\/li>\n<li>Transparent handling of WordPress's <code>-scaled<\/code> large images<\/li>\n<\/ul>\n\n<p><strong>Revision history<\/strong><\/p>\n\n<ul>\n<li>Every replacement automatically snapshots the previous file<\/li>\n<li>Major\/minor version numbering (e.g. v1.0 \u2192 v1.1 \u2192 v2.0)<\/li>\n<li>Optional replacement note per revision, attributed to the user<\/li>\n<li>One-click restore of any past version<\/li>\n<li>Download individual revisions, or download a ZIP archive of an attachment's full history<\/li>\n<li>Configurable: maximum revisions per file, age-based retention with daily cleanup, per-file-type opt-in<\/li>\n<\/ul>\n\n<p><strong>Block editor integration<\/strong><\/p>\n\n<ul>\n<li>\"Update existing file\" in every block's Replace toolbar dropdown (image, cover, video, audio, file, gallery, media-text, post-featured-image)<\/li>\n<li>In-place editor refresh after replacement \u2014 no page reload, no lost work<\/li>\n<li>Accessibility-friendly notifications via WordPress's native screen reader announcements<\/li>\n<\/ul>\n\n<p><strong>Validation safeguards<\/strong><\/p>\n\n<ul>\n<li>Filename matching to keep URLs stable<\/li>\n<li>Image dimension matching to prevent layout breakage<\/li>\n<li>MIME-type matching to prevent file corruption<\/li>\n<li>Clear, actionable error messages when something doesn't match<\/li>\n<\/ul>\n\n<p><strong>Built-in admin<\/strong><\/p>\n\n<ul>\n<li>Settings page at Media \u2192 Replacement Settings<\/li>\n<li>Storage stats: total revisions, total disk usage, database table status<\/li>\n<li>Optional deactivation cleanup (files and\/or database)<\/li>\n<\/ul>\n\n<p><strong>Multisite-ready<\/strong><\/p>\n\n<ul>\n<li>Network-activate only on multisite \u2014 one consistent configuration across every site<\/li>\n<li>Settings live at Network Admin \u2192 Settings \u2192 Media Replacement and apply network-wide<\/li>\n<li>Revisions are stored per-site under each site's uploads directory; metadata lives in a single shared network table<\/li>\n<li>Daily retention cleanup runs across every site in the network<\/li>\n<li>Automatic row and file cleanup when a site is deleted<\/li>\n<li>Single-site installs work exactly as before \u2014 settings and storage stay per-site, no network behavior involved<\/li>\n<\/ul>\n\n<p><strong>WP-CLI<\/strong><\/p>\n\n<ul>\n<li><code>wp smr db check<\/code> \u2014 verify the revisions table exists (non-zero exit code if missing, safe for CI pipelines)<\/li>\n<li><code>wp smr db repair<\/code> \u2014 recreate the table if missing; idempotent, safe to run when the table already exists<\/li>\n<li><code>wp smr db status<\/code> \u2014 revision counts and storage usage; <code>--network<\/code> for a per-site breakdown on multisite<\/li>\n<li><code>wp smr db cleanup<\/code> \u2014 delete expired revisions immediately, with <code>--dry-run<\/code> to preview and <code>--network<\/code> for all sites<\/li>\n<\/ul>\n\n<p><strong>Other<\/strong><\/p>\n\n<ul>\n<li>Self-healing database table via configurable scheduled check (hourly, daily, weekly, or disabled); use <code>wp smr db repair<\/code> for on-demand recovery<\/li>\n<li>Developer hooks throughout for custom integrations<\/li>\n<\/ul>\n\n<h4>Privacy<\/h4>\n\n<p>This plugin is fully self-contained and respects your privacy:<\/p>\n\n<ul>\n<li>Does not collect or transmit any user data<\/li>\n<li>Does not use cookies or third-party tracking<\/li>\n<li>Only processes files locally on your server<\/li>\n<li>Does not communicate with external services or APIs<\/li>\n<\/ul>\n\n<h3>Usage<\/h3>\n\n<h4>From the Media Library<\/h4>\n\n<ol>\n<li>Navigate to the WordPress Media Library<\/li>\n<li>Open the file you want to replace (click on it, or use the row actions in list view)<\/li>\n<li>Click <strong>Replace File<\/strong><\/li>\n<li>Choose your new file \u2014 if revisions are enabled, you'll be prompted for an optional note and version type (minor\/major)<\/li>\n<li>The replacement happens immediately, preserving the file's URL<\/li>\n<\/ol>\n\n<h4>From the block editor<\/h4>\n\n<ol>\n<li>Click on any media block (image, cover, video, audio, file, gallery, etc.)<\/li>\n<li>Open the <strong>Replace<\/strong> toolbar dropdown<\/li>\n<li>Choose <strong>Update existing file<\/strong><\/li>\n<li>Pick your new file \u2014 the editor refreshes in place<\/li>\n<\/ol>\n\n<h4>Viewing and managing revisions<\/h4>\n\n<ul>\n<li>In the Media Library list view, the <strong>Revisions<\/strong> row action opens the full revision history for that file<\/li>\n<li>On the attachment edit screen, the <strong>View Revisions<\/strong> button opens the same panel<\/li>\n<li>From either, you can download any past version individually or as a ZIP, and restore any revision with one click<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Install from the WordPress plugin directory, or upload the <code>smart-media-replacement<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate through the Plugins menu in WordPress<\/li>\n<li>(Optional) Visit Media \u2192 Replacement Settings to configure revision history behavior<\/li>\n<\/ol>\n\n<h4>Multisite<\/h4>\n\n<p>On WordPress multisite the plugin is network-activate only \u2014 activate it once from Network Admin \u2192 Plugins, then configure it at Network Admin \u2192 Settings \u2192 Media Replacement. The settings you choose apply to every site on the network. There is no per-site settings page on multisite.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20my%20existing%20links%20still%20work%20after%20i%20replace%20a%20file%3F\"><h3>Will my existing links still work after I replace a file?<\/h3><\/dt>\n<dd><p>Yes \u2014 that's the whole point. The replacement keeps the file's URL and ID unchanged, so every existing link, embed, share, and SEO reference continues to work normally.<\/p><\/dd>\n<dt id=\"can%20i%20undo%20a%20replacement%20if%20something%20goes%20wrong%3F\"><h3>Can I undo a replacement if something goes wrong?<\/h3><\/dt>\n<dd><p>Yes. As long as revisions are enabled for the file type, every replacement preserves the previous version. Open the file's revision history and click <strong>Restore<\/strong> on any past version. The current file is also snapshotted before the restore, so nothing is lost.<\/p><\/dd>\n<dt id=\"does%20this%20work%20in%20the%20block%20editor%3F\"><h3>Does this work in the block editor?<\/h3><\/dt>\n<dd><p>Yes. Every block that has a Replace toolbar \u2014 image, cover, video, audio, file, gallery, media-text, post-featured-image \u2014 gets an <strong>Update existing file<\/strong> option in the Replace dropdown. The editor refreshes in place after replacement, so you don't lose unsaved work.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20image%20thumbnail%20variants%20after%20replacement%3F\"><h3>What happens to image thumbnail variants after replacement?<\/h3><\/dt>\n<dd><p>WordPress regenerates all configured image sizes (thumbnail, medium, large, etc.) automatically. Their URLs stay stable too, so responsive images and srcset attributes continue working.<\/p><\/dd>\n<dt id=\"can%20i%20download%20a%20previous%20version%20of%20a%20file%3F\"><h3>Can I download a previous version of a file?<\/h3><\/dt>\n<dd><p>Yes. Each revision has its own Download button. You can also download a ZIP archive containing every revision for a file at once.<\/p><\/dd>\n<dt id=\"why%20must%20my%20replacement%20file%20have%20the%20same%20name%20as%20the%20original%3F\"><h3>Why must my replacement file have the same name as the original?<\/h3><\/dt>\n<dd><p>That's how WordPress serves files \u2014 the URL contains the filename. Matching the original filename is what keeps your existing links intact. The plugin shows you the exact filename to use if there's a mismatch.<\/p><\/dd>\n<dt id=\"why%20must%20image%20dimensions%20match%3F\"><h3>Why must image dimensions match?<\/h3><\/dt>\n<dd><p>Different dimensions can break responsive layouts, hero image sizing, and carefully-tuned cropping across your site. Enforcing identical dimensions protects against unexpected layout shifts. Developers can disable this per-attachment with the <code>smart_media_replacement_enforce_dimensions<\/code> filter if needed.<\/p><\/dd>\n<dt id=\"can%20i%20replace%20a%20jpg%20with%20a%20png%3F\"><h3>Can I replace a JPG with a PNG?<\/h3><\/dt>\n<dd><p>No. The replacement file must be the same MIME type as the original. Mixing file types can break image processing, browser display, and SEO. If you need to change formats, upload as a new image.<\/p><\/dd>\n<dt id=\"what%20if%20my%20image%20was%20scaled%20by%20wordpress%3F\"><h3>What if my image was scaled by WordPress?<\/h3><\/dt>\n<dd><p>If WordPress automatically created a <code>-scaled<\/code> variant (typical for uploads over 2560px), upload your replacement with the <strong>original<\/strong> filename \u2014 without the <code>-scaled<\/code> suffix. The plugin handles the scaling and regenerates all variants automatically. If you upload with the wrong filename, the error message will tell you exactly what name to use.<\/p><\/dd>\n<dt id=\"i%20have%20revisions%20enabled%20but%20i%20don%27t%20see%20any%20history.%20why%3F\"><h3>I have revisions enabled but I don't see any history. Why?<\/h3><\/dt>\n<dd><p>Revisions are created on <strong>replacement<\/strong>, not on the original upload \u2014 so a brand-new attachment shows no history until you've replaced it at least once. Also check Media \u2192 Replacement Settings: the \"Enable Revisions For\" option lets you scope revisions to documents only, images only, or all file types. If your attachment's type isn't covered, no revisions will be tracked.<\/p><\/dd>\n<dt id=\"is%20there%20a%20wp-cli%20interface%3F\"><h3>Is there a WP-CLI interface?<\/h3><\/dt>\n<dd><p>Yes. The plugin ships with <code>wp smr db check<\/code>, <code>wp smr db repair<\/code>, <code>wp smr db status<\/code>, and <code>wp smr db cleanup<\/code>. These are useful in deployment pipelines, after database restores, and on large multisite networks where you want to run retention cleanup on a real system cron instead of relying on WP-Cron. All commands support <code>--network<\/code> and <code>--site-id=&lt;id&gt;<\/code> on multisite; <code>wp smr db cleanup<\/code> also accepts <code>--dry-run<\/code> and <code>--yes<\/code>.<\/p><\/dd>\n<dt id=\"do%20i%20need%20special%20permissions%3F\"><h3>Do I need special permissions?<\/h3><\/dt>\n<dd><p>Yes \u2014 you need the <code>edit_post<\/code> capability for the specific attachment. This matches WordPress's standard media editing permission model.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>What's new in 1.2.0<\/h4>\n\n<p>Multisite behavior is now consistent and centrally managed.<\/p>\n\n<ul>\n<li><strong>Network-activate only on multisite.<\/strong> WordPress no longer exposes a per-site activation link \u2014 a super admin network-activates the plugin once.<\/li>\n<li><strong>Network-wide settings.<\/strong> All configuration lives at Network Admin \u2192 Settings \u2192 Media Replacement and applies to every site on the network. The per-site settings page is no longer registered on multisite.<\/li>\n<li><strong>Retention cron is network-aware.<\/strong> The daily cleanup iterates every site so retention applies across the entire network, not just the main site.<\/li>\n<li><strong>Plugin \"Settings\" shortcut on the Plugins screen<\/strong> points to the correct admin (network or site) in both contexts.<\/li>\n<\/ul>\n\n<p><strong>Upgrading on multisite:<\/strong> per-site settings stored under v1.1.x are not carried forward to the network store. After upgrading, a super admin should visit Network Admin \u2192 Settings \u2192 Media Replacement once and confirm the values. Single-site installs are unaffected.<\/p>\n\n<h4>What's new in 1.1.1<\/h4>\n\n<p>A major feature release. Revision history, block editor integration, and a handful of reliability improvements for managed hosts.<\/p>\n\n<p><strong>New features<\/strong><\/p>\n\n<ul>\n<li><strong>Revision history.<\/strong> Every replacement now snapshots the previous file, tracked with major\/minor versioning and an optional note. Restore any past version with one click.<\/li>\n<li><strong>Block editor integration.<\/strong> \"Update existing file\" now appears in every block's Replace toolbar \u2014 image, cover, video, audio, file, gallery, and more. The editor refreshes in place, no page reload, no lost work.<\/li>\n<li><strong>Download past versions.<\/strong> Save any individual revision, or grab a ZIP archive of an attachment's full history.<\/li>\n<li><strong>Settings page.<\/strong> Control which file types get revisions, how many to keep, how long to retain them, the default version-bump behavior, and whether replacement notes are required.<\/li>\n<li><strong>Multisite support.<\/strong> Per-site revision storage and settings, automatic cleanup on site deletion, defaults seeded for new sites.<\/li>\n<\/ul>\n\n<p><strong>Reliability improvements<\/strong><\/p>\n\n<ul>\n<li>Replacements now work on managed hosts where strict file ownership previously caused 500 errors during the upload step.<\/li>\n<li>Files are no longer at risk during a failed replacement \u2014 the new file is placed before the old one is cleaned up.<\/li>\n<li>Smoother restore: no more duplicate confirmations or accidental double-rollbacks.<\/li>\n<li>Failed uploads (wrong dimensions, wrong file type) no longer leave behind orphan revisions.<\/li>\n<li>The revisions database table is now self-healed on every admin load \u2014 recovers automatically from DB resets without needing a deactivate\/reactivate.<\/li>\n<\/ul>\n\n<p><strong>Security hardening<\/strong><\/p>\n\n<ul>\n<li>Path-traversal protection on revision file lookups.<\/li>\n<li>Directory listing prevention on the revisions storage folder.<\/li>\n<li>Stricter input validation on version-type parameters.<\/li>\n<\/ul>\n\n<p><a href=\"https:\/\/github.com\/troychaplin\/smart-media-replacement\/blob\/main\/CHANGELOG.md\">View all version changes<\/a><\/p>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Replace media files while maintaining URLs<\/li>\n<li>Filename validation to prevent URL changes<\/li>\n<li>Image dimension enforcement to prevent layout issues<\/li>\n<li>WordPress scaled image handling<\/li>\n<li>File type validation for consistency<\/li>\n<li>AJAX-based replacement with error handling<\/li>\n<li>Developer hooks for customization<\/li>\n<\/ul>","raw_excerpt":"Replace media files in place \u2014 same URL, new content, no broken links. Includes versioned revision history with one-click rollback.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/259202","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=259202"}],"author":[{"embeddable":true,"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/areziaal"}],"wp:attachment":[{"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=259202"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=259202"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=259202"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=259202"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=259202"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/fr-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=259202"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}