{"id":326938,"date":"2026-06-24T15:23:19","date_gmt":"2026-06-24T15:23:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/feichtmedia-imagemanager-acf\/"},"modified":"2026-06-24T15:22:56","modified_gmt":"2026-06-24T15:22:56","slug":"feichtmedia-imagemanager-acf","status":"publish","type":"plugin","link":"https:\/\/test.wordpress.org\/plugins\/feichtmedia-imagemanager-acf\/","author":18635386,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.0","stable_tag":"1.2.0","tested":"7.0","requires":"7.0","requires_php":"8.2","requires_plugins":null,"header_name":"FeichtMedia ImageManager for Advanced Custom Fields","header_author":"FeichtMedia","header_description":"ACF custom field type for the FeichtMedia ImageManager DAM. Editors pick images through a native WP-admin file browser; all API requests are proxied server-side so the API key never reaches the browser.","assets_banners_color":"","last_updated":"2026-06-24 15:22:56","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/www.feicht-media.de\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":38,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.0":{"tag":"1.2.0","author":"mcsr","date":"2026-06-24 15:22:56"}},"upgrade_notice":{"1.2.0":"<ul>\n<li>Fixes ACF Repeater compatibility: selecting images in the editor always updated the first row; GraphQL returned null for all Repeater sub-field values. Also fixes the file browser button in ACF blocks edited via the Expanded Editor (WordPress 7 \/ ACF 6.8+). No database changes. Safe to update.<\/li>\n<li>The &#039;Allow null&#039; setting has been moved from the &#039;General&#039; to the &#039;Validation&#039; tab in the ACF field admin settings.<\/li>\n<\/ul>","1.1.0":"<p>Plugin display name changed (slug unchanged). No database changes. Safe to update.<\/p>","1.0.1":"<p>No database changes. Safe to update.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[2211,2217,14169,14168,268743],"plugin_category":[59],"plugin_contributors":[],"plugin_business_model":[],"class_list":["post-326938","plugin","type-plugin","status-publish","hentry","plugin_tags-acf","plugin_tags-advanced-custom-fields","plugin_tags-dam","plugin_tags-digital-asset-management","plugin_tags-imagemanager","plugin_category-utilities-and-tools","plugin_committers-mcsr"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/feichtmedia-imagemanager-acf.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>This plugin adds a native field type for the <strong>FeichtMedia ImageManager<\/strong> \u2013 your Digital Asset Management system \u2013 to Advanced Custom Fields (ACF). Editors pick images through an integrated file browser directly in the WP admin, without an iFrame and without any external redirects.<\/p>\n\n<p><strong>Requirements:<\/strong><\/p>\n\n<ul>\n<li>WordPress 7.0 or later<\/li>\n<li>PHP 8.2 or later<\/li>\n<li>Advanced Custom Fields (free or PRO)<\/li>\n<\/ul>\n\n<p><strong>Key features:<\/strong><\/p>\n\n<ul>\n<li>Native WP admin file browser \u2013 no iFrame, no cross-origin issues<\/li>\n<li>Server-side API proxy \u2013 the API key never leaves the server; API requests are only possible through the WordPress editor<\/li>\n<li>Three return formats: relative URL, absolute URL, metadata object<\/li>\n<li>WPGraphQL integration (<code>String<\/code> type and custom <code>ImageManagerImage<\/code> type)<\/li>\n<li>Backward compatible with stored relative URLs from plain text fields<\/li>\n<li>Metadata cache via WordPress Transients (configurable TTL, default: 1 hour)<\/li>\n<li>Multilingual: en_US (source), en_GB, de_DE, de_DE_formal, de_AT, de_CH<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to the FeichtMedia ImageManager API to retrieve image lists, category structures, and image metadata. Requests are made server-side (via a WordPress REST API proxy) when an editor opens the file browser or when a field with the \"Metadata\" return format is displayed. The API key entered in the plugin settings is used exclusively on the server and is never transmitted to the browser or included in page output.<\/p>\n\n<p>Data transmitted to the FeichtMedia ImageManager API with each request:<\/p>\n\n<ul>\n<li><strong>API key<\/strong> \u2013 sent in the Authorization header to authenticate the request.<\/li>\n<li><strong>Project ID<\/strong> \u2013 part of the request URL for images in the preview.<\/li>\n<li><strong>Image ID<\/strong> \u2013 included in the URL for single-image metadata requests.<\/li>\n<li><strong>WordPress site URL<\/strong> \u2013 transmitted automatically as part of the HTTP User-Agent header (e.g. <code>WordPress\/7.0; https:\/\/example.com FeichtMedia-ImageManager-ACF\/1.1.0<\/code>).<\/li>\n<li><strong>IP address of the WordPress server<\/strong> \u2013 logged by the ImageManager API as the origin of the HTTP request.<\/li>\n<\/ul>\n\n<p>No visitor IP addresses, post content, or other personally identifiable information is transmitted. All requests originate from the WordPress server, not from the visitor's browser.<\/p>\n\n<ul>\n<li><a href=\"https:\/\/www.feicht-media.de\/imagemanager-nutzungsbedingungen\">FeichtMedia ImageManager Terms of Service<\/a><\/li>\n<li><a href=\"https:\/\/www.feicht-media.de\/datenschutz\/imagemanager\">FeichtMedia ImageManager Privacy Policy<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin under <strong>Plugins<\/strong> in the WordPress admin.<\/li>\n<li>Go to <strong>Settings \u2192 FeichtMedia ImageManager<\/strong> and enter your API key, project ID, and CDN domain.<\/li>\n<li>Add a field of type <strong>ImageManager &gt; Image<\/strong> to any ACF field group.<\/li>\n<\/ol>\n\n<p>After setup, a new category \"FeichtMedia ImageManager\" with the field type <strong>ImageManager Image<\/strong> will appear in the ACF field editor.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"which%20plugins%20are%20required%3F\"><h3>Which plugins are required?<\/h3><\/dt>\n<dd><p><strong>Advanced Custom Fields<\/strong> (free or PRO) is required. The plugin displays an admin notice if ACF is not installed or active.<\/p><\/dd>\n<dt id=\"is%20wpgraphql%20required%3F\"><h3>Is WPGraphQL required?<\/h3><\/dt>\n<dd><p>No. The WPGraphQL integration is optional and activates automatically if WPGraphQL and WPGraphQL for ACF (v2.x) are installed and active. Without these plugins, the field type works fully.<\/p><\/dd>\n<dt id=\"how%20do%20i%20set%20up%20the%20plugin%3F\"><h3>How do I set up the plugin?<\/h3><\/dt>\n<dd><p>After activation, go to <strong>Settings \u2192 FeichtMedia ImageManager<\/strong>. Enter three values:<\/p>\n\n<ol>\n<li><strong>API Key<\/strong> \u2013 Your personal access key for the ImageManager. It is stored encrypted in the WordPress database and is never transmitted to the browser.<\/li>\n<li><strong>Project ID<\/strong> \u2013 The ID of your ImageManager project (also called usergroup ID), e.g. <code>wordpress<\/code>. It is part of every CDN URL.<\/li>\n<li><strong>CDN Domain<\/strong> \u2013 Your CDN domain without protocol and without a trailing slash, e.g. <code>cdn.example.com<\/code>. The plugin adds <code>https:\/\/<\/code> automatically.<\/li>\n<\/ol><\/dd>\n<dt id=\"what%20do%20i%20enter%20as%20the%20cdn%20domain%3F\"><h3>What do I enter as the CDN domain?<\/h3><\/dt>\n<dd><p>Enter the domain <strong>without<\/strong> protocol and <strong>without<\/strong> a trailing slash, e.g. <code>cdn.example.com<\/code>. The plugin adds <code>https:\/\/<\/code> automatically when saving. If <code>https:\/\/<\/code> is accidentally prepended, it will be removed on save.<\/p><\/dd>\n<dt id=\"which%20api%20key%20permissions%20are%20required%3F\"><h3>Which API key permissions are required?<\/h3><\/dt>\n<dd><p>The plugin accesses the ImageManager read-only. For the file browser and metadata queries, the API key needs at least:<\/p>\n\n<ul>\n<li><code>image:list<\/code> \u2013 display the image list in the file browser<\/li>\n<li><code>image:read<\/code> \u2013 fetch metadata for a single image (for the \"metadata\" return format)<\/li>\n<li><code>category:list<\/code> \u2013 load category folders in the file browser<\/li>\n<li><code>category:read<\/code> \u2013 load a single category (for breadcrumb navigation)<\/li>\n<\/ul>\n\n<p>The <code>*:read<\/code> permission (read access to all resources) covers all of the above with a single entry and is the recommended choice if your ImageManager account supports wildcard permissions.<\/p>\n\n<p>API keys that only grant write permissions (<code>image:create<\/code>, <code>image:update<\/code>, etc.) will result in 403 errors in the file browser and must not be used.<\/p><\/dd>\n<dt id=\"is%20the%20api%20key%20transmitted%20to%20the%20browser%3F\"><h3>Is the API key transmitted to the browser?<\/h3><\/dt>\n<dd><p>No. All requests to the ImageManager are routed through a server-side WP REST API proxy. The API key is read exclusively on the server from the WordPress database and is never visible in the browser or in browser network traffic.<\/p><\/dd>\n<dt id=\"what%20is%20stored%20in%20the%20database%3F\"><h3>What is stored in the database?<\/h3><\/dt>\n<dd><p>Only the <strong>image ID<\/strong> (the <code>newFilename<\/code> field, e.g. <code>20260612-085316-my-photo.jpg<\/code>) is stored as <code>post_meta<\/code> per image. No URLs, no metadata, no CDN domain. The full URL is assembled at runtime from the stored image ID, the project ID, and the CDN domain.<\/p><\/dd>\n<dt id=\"which%20return%20formats%20are%20available%20and%20when%20should%20i%20use%20which%3F\"><h3>Which return formats are available and when should I use which?<\/h3><\/dt>\n<dd><p>The return format is set per ACF field in the field settings:<\/p>\n\n<ul>\n<li><strong>Relative URL<\/strong> (default) \u2013 Returns a path, e.g. <code>\/wordpress\/20260612-085316-my-photo.jpg<\/code>. No API call, fastest option. Suitable when your theme assembles the full URL itself or passes the path to a CDN helper.<\/li>\n<li><strong>Absolute URL<\/strong> \u2013 Returns the full CDN URL, e.g. <code>https:\/\/cdn.example.com\/wordpress\/\u2026<\/code>. Also no API call. Suitable when you need a ready-to-use URL in templates.<\/li>\n<li><strong>Metadata<\/strong> \u2013 Returns an object with <code>imageId<\/code>, <code>relativeUrl<\/code>, <code>absoluteUrl<\/code>, <code>orgFilename<\/code>, <code>title<\/code>, <code>alt<\/code>, <code>copyright<\/code>, <code>width<\/code>, <code>height<\/code>, <code>filetype<\/code>, and <code>filesize<\/code>. Requires one API call per image per cache interval (default: 1 hour, configurable). Suitable when your template needs alt text, copyright information, or image dimensions.<\/li>\n<\/ul><\/dd>\n<dt id=\"what%20is%20the%20project%20id%3F\"><h3>What is the project ID?<\/h3><\/dt>\n<dd><p>The project ID (also called usergroup ID) is the unique identifier of your ImageManager project, e.g. <code>wordpress<\/code>. It is part of every CDN URL and is needed to construct the full image URL from a stored image ID. You can find the project ID in your ImageManager dashboard.<\/p><\/dd>\n<dt id=\"how%20does%20the%20file%20browser%20work%20in%20the%20editor%3F\"><h3>How does the file browser work in the editor?<\/h3><\/dt>\n<dd><p>Click <strong>Add image<\/strong> (or <strong>Change image<\/strong> if one is already set) in the ACF field. A modal file browser opens, showing the categories and images from your ImageManager project:<\/p>\n\n<ul>\n<li>Category tiles (folders) are shown at the top; below them are the images of the current category.<\/li>\n<li>At the root level you see both subcategories and uncategorised images.<\/li>\n<li>The search field lets you search project-wide for images.<\/li>\n<li>Clicking an image selects it; clicking again deselects it.<\/li>\n<li>Click <strong>Select<\/strong> to apply the chosen image to the field.<\/li>\n<li>The info icon on an image tile opens the image directly in the ImageManager dashboard.<\/li>\n<\/ul><\/dd>\n<dt id=\"i%20updated%20metadata%20in%20the%20imagemanager%20but%20the%20changes%20do%20not%20appear%20in%20wordpress.%20why%3F\"><h3>I updated metadata in the ImageManager but the changes do not appear in WordPress. Why?<\/h3><\/dt>\n<dd><p>The <strong>Metadata<\/strong> return format stores each image's data as a WordPress Transient. This is intentional: it reduces load on the ImageManager API and prevents pages with many images from exceeding the API request limit.<\/p>\n\n<p>The cache TTL is <strong>3,600 seconds (1 hour)<\/strong> by default and can be adjusted or fully disabled under <strong>Settings \u2192 FeichtMedia ImageManager<\/strong> in the <strong>ACF Field<\/strong> section.<\/p>\n\n<p>Changes to title, alt text, copyright, or dimensions in the ImageManager will not appear in WordPress until the Transient expires or the cache is cleared manually.<\/p>\n\n<p>To clear the cache for a specific image immediately:<\/p>\n\n<ul>\n<li><strong>WP-CLI:<\/strong> <code>wp transient delete feichtmedia_imagemanager_acf_meta_$(php -r \"echo md5('YOUR_IMAGE_ID');\")<\/code><\/li>\n<li><strong>Code \/ mu-plugin:<\/strong> <code>delete_transient( 'feichtmedia_imagemanager_acf_meta_' . md5( 'YOUR_IMAGE_ID' ) );<\/code><\/li>\n<li><strong>Caching plugin:<\/strong> Use the \"Delete all transients\" or \"Flush object cache\" feature of your caching plugin.<\/li>\n<\/ul>\n\n<p>The <strong>Relative URL<\/strong> and <strong>Absolute URL<\/strong> formats are never cached \u2013 they are calculated purely at runtime from the stored image ID, project ID, and CDN domain, without any API calls.<\/p><\/dd>\n<dt id=\"can%20i%20adjust%20the%20cache%20ttl%20or%20disable%20the%20cache%3F\"><h3>Can I adjust the cache TTL or disable the cache?<\/h3><\/dt>\n<dd><p>Yes. Under <strong>Settings \u2192 FeichtMedia ImageManager<\/strong> in the <strong>ACF Field<\/strong> section you can:<\/p>\n\n<ul>\n<li>Set the <strong>cache TTL<\/strong> in seconds (default: 3,600). A value of <code>0<\/code> means the cache never expires.<\/li>\n<li><strong>Fully disable the cache<\/strong> by unchecking the corresponding option. In this case, one API request is made per image per page load.<\/li>\n<\/ul><\/dd>\n<dt id=\"what%20happens%20when%20multiple%20editors%20work%20simultaneously%3F\"><h3>What happens when multiple editors work simultaneously?<\/h3><\/dt>\n<dd><p>The plugin is read-only and only writes the image ID as <code>post_meta<\/code>. Conflicts can only arise from the standard WordPress save behaviour when multiple editors edit the same post simultaneously, not from the plugin itself.<\/p><\/dd>\n<dt id=\"is%20wpgraphql%20supported%3F\"><h3>Is WPGraphQL supported?<\/h3><\/dt>\n<dd><p>Yes. If <strong>WPGraphQL<\/strong> and <strong>WPGraphQL for ACF<\/strong> (v2.x) are installed and active, the plugin automatically registers a GraphQL field type handler:<\/p>\n\n<ul>\n<li>Return formats <code>relative_url<\/code> and <code>absolute_url<\/code> are returned as <code>String<\/code>.<\/li>\n<li>The <code>metadata<\/code> return format returns the custom object type <code>ImageManagerImage<\/code> with the fields: <code>imageId<\/code>, <code>relativeUrl<\/code>, <code>absoluteUrl<\/code>, <code>orgFilename<\/code>, <code>title<\/code>, <code>alt<\/code>, <code>copyright<\/code>, <code>width<\/code>, <code>height<\/code>, <code>filetype<\/code>, <code>filesize<\/code>.<\/li>\n<\/ul><\/dd>\n<dt id=\"what%20happens%20to%20stored%20data%20when%20the%20plugin%20is%20deactivated%3F\"><h3>What happens to stored data when the plugin is deactivated?<\/h3><\/dt>\n<dd><p>Nothing. Deactivation does not delete any data. Stored image IDs remain as <code>post_meta<\/code> and are immediately available again after reactivation.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20the%20plugin%20is%20uninstalled%3F\"><h3>What happens when the plugin is uninstalled?<\/h3><\/dt>\n<dd><p>On uninstall, the plugin removes its own settings (<code>feichtmedia_imagemanager_acf_cache_enabled<\/code>, <code>feichtmedia_imagemanager_acf_cache_ttl<\/code>). The <strong>shared settings<\/strong> (API key, project ID, CDN domain) are only deleted if no other FeichtMedia ImageManager plugin is still active. If other such plugins are installed, the shared settings are kept. <code>post_meta<\/code> (stored image IDs) is <strong>never<\/strong> deleted.<\/p><\/dd>\n<dt id=\"how%20do%20i%20use%20the%20field%20in%20my%20theme%20or%20plugin%3F\"><h3>How do I use the field in my theme or plugin?<\/h3><\/dt>\n<dd><p>Retrieve the ACF field as usual with <code>get_field()<\/code> or <code>the_field()<\/code>. The returned value depends on the configured return format:<\/p>\n\n<p><strong>Relative URL:<\/strong>\n    $path = get_field('my_imagemanager_field'); \/\/ e.g. \/wordpress\/20260612-085316-my-photo.jpg<\/p>\n\n<p><strong>Absolute URL:<\/strong>\n    $url = get_field('my_imagemanager_field'); \/\/ e.g. https:\/\/cdn.example.com\/wordpress\/\u2026<\/p>\n\n<p><strong>Metadata:<\/strong>\n    $image = get_field('my_imagemanager_field');\n    \/\/ $image['alt'], $image['title'], $image['absoluteUrl'], $image['width'], \u2026<\/p><\/dd>\n<dt id=\"are%20images%20uploaded%20to%20or%20stored%20in%20wordpress%3F\"><h3>Are images uploaded to or stored in WordPress?<\/h3><\/dt>\n<dd><p>No. The plugin does not upload images to WordPress and does not store any image files. It stores only the image ID (a short text string) as <code>post_meta<\/code>. Images continue to be served via the FeichtMedia ImageManager and your CDN.<\/p><\/dd>\n<dt id=\"can%20the%20plugin%20upload%2C%20rename%2C%20or%20delete%20images%3F\"><h3>Can the plugin upload, rename, or delete images?<\/h3><\/dt>\n<dd><p>No. The plugin has read-only access to the ImageManager. It neither uploads, edits, nor deletes images.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<p>Only plugin-level changes are listed here. Changes to the internal Shared Core Component (<code>includes\/shared\/imagemanager-core\/<\/code>) are documented in <code>CHANGELOG.md<\/code> under a separate <code>Core<\/code> sub-section of the relevant version entry.<\/p>\n\n<h4>1.2.0 \u2013 2026-06-24<\/h4>\n\n<ul>\n<li>Added: Plugin icons for the WordPress plugin directory and the plugin list inside WordPress.<\/li>\n<li>Updated: Categories in the modal are now listed in a fixed responsive grid layout instead of a floating layout. This improves the overview.<\/li>\n<li>Updated: The \"Allow Null\" field setting now lives on the field's \"Validation\" tab next to \"Required\" instead of on the \"General\" tab. The two options no longer conflict: a required field can never be cleared, and \"Allow Null\" only takes effect on optional fields, where it controls whether an already-selected image may be removed.<\/li>\n<li>Fixed: The loading placeholders (skeletons) in the file browser were not displayed while images and categories were loading. They now appear again, and the category placeholders use the same responsive grid layout as the real categories.<\/li>\n<li>Fixed: A previously selected image could not be loaded in the file browser when the field's stored value was a legacy relative URL \u2014 for example a field that was originally a plain text field and later switched to the ImageManager image type. The value is now normalised to a bare image ID before the request, so the modal opens with the correct image already selected instead of failing.<\/li>\n<li>Fixed: File browser button in ACF block fields had no effect when editing via the Expanded Editor (v3 blocks only). Switched from per-field event binding to global event delegation so button clicks are caught regardless of whether ACF's <code>ready_field<\/code> lifecycle event fires (affected by the iFrame-based block editor in WordPress 7 and ACF's React-based Expanded Editor).<\/li>\n<li>Fixed: Selecting or changing an image in any ACF Repeater row other than the first always updated the first row instead of the clicked one. The modal now stores a direct reference to the exact DOM element that opened it instead of querying by ACF field key, which is identical for all rows in a repeater.<\/li>\n<li>Fixed: GraphQL resolver returned <code>null<\/code> for <code>imagemanager_image<\/code> fields inside ACF Repeaters. The resolver now reads the pre-formatted value from the row data instead of calling <code>get_field()<\/code> with a null source ID, which previously fell back to the global post context and found no value.<\/li>\n<\/ul>\n\n<h4>1.1.0 \u2013 2026-06-17<\/h4>\n\n<ul>\n<li>Updated: Plugin display name to \"FeichtMedia ImageManager for Advanced Custom Fields\" (WordPress.org trademark policy). The plugin slug and text domain are unchanged.<\/li>\n<li>Updated: Translation loading moved from <code>plugins_loaded<\/code> to <code>add_action('init', \u2026, 1)<\/code> to fix the \"translation loading triggered too early\" notice introduced in WordPress 6.7.<\/li>\n<li>Updated: CDN domain validation now enforces real hostname syntax (RFC 1123) and rejects paths, query strings, ports, and malformed labels instead of saving invalid input. Invalid values are rejected with an admin notice; the previously saved value is kept.<\/li>\n<li>Updated: CDN domain validation error message now reads \"Your change was not saved.\" instead of the technical \"The previous value was kept.\"<\/li>\n<li>Fixed: Plugin-specific function <code>feichtmedia_imagemanager_acf_missing_notice()<\/code> now uses the correct naming prefix (was <code>fm_imagemanager_acf_missing_notice()<\/code>).<\/li>\n<li>Fixed: Metadata transient cache key corrected from <code>fm_img_meta_<\/code> to <code>feichtmedia_imagemanager_acf_meta_<\/code> \u2014 the old key was never matched by the uninstall cleanup query, so transients were not removed on plugin deletion.<\/li>\n<\/ul>\n\n<h4>1.0.2 \u2013 2026-06-14<\/h4>\n\n<ul>\n<li>Removed internal changelog file from plugin release.<\/li>\n<\/ul>\n\n<h4>1.0.1 \u2013 2026-06-14<\/h4>\n\n<ul>\n<li>Prepared plugin for release on WordPress.org: fixed output escaping, translated readme to English, reduced tags to five, and minor code standard fixes.<\/li>\n<\/ul>\n\n<h4>1.0.0 \u2013 2026-06-13<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Integrates the FeichtMedia ImageManager DAM into Advanced Custom Fields (ACF) as a native field type.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/326938","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=326938"}],"author":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/mcsr"}],"wp:attachment":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=326938"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=326938"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=326938"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=326938"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=326938"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=326938"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}