{"id":394015,"date":"2026-11-01T18:53:02","date_gmt":"2026-11-01T18:53:02","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/shelfwright-media-library-folders-categories\/"},"modified":"2026-11-01T18:52:45","modified_gmt":"2026-11-01T18:52:45","slug":"shelfwright-media-library-folders-categories","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/shelfwright-media-library-folders-categories\/","author":23589964,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.9","stable_tag":"1.0.9","tested":"7.1.4","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"Shelfwright \u2013 Media Library Folders & Categories","header_author":"Karelia Labs","header_description":"Organize the Media Library into folders: a folder tree beside the library, drag and drop, uploads straight into a folder, filters, bulk moves and folder galleries. Keeps Enhanced Media Library categories as they are, and imports FileBird and Real Media Library folders.","assets_banners_color":"074b17","last_updated":"2026-11-01 18:52:45","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/karelialabs.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":116,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.9":{"tag":"1.0.9","author":"karelialabs","date":"2026-11-01 18:52:45","revision":3778427}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3778427,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3778427,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3778427,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3778427,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3778427,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"shelfwright\/folder-gallery":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"shelfwright\/folder-gallery","version":"1.0.0","title":"Folder gallery","category":"media","icon":"format-gallery","description":"A gallery of the images in a Media Library folder. New images in the folder appear automatically.","keywords":["gallery","folder","media","category","images"],"textdomain":"shelfwright-media-library-folders-categories","attributes":{"folder":{"type":"number","default":0},"columns":{"type":"number","default":3},"size":{"type":"string","default":"medium"},"link":{"type":"string","default":"file"},"orderby":{"type":"string","default":"menu_order"},"order":{"type":"string","default":"ASC"},"limit":{"type":"number","default":0},"subfolders":{"type":"boolean","default":false}},"supports":{"html":false,"align":["wide","full"],"spacing":{"margin":true}},"editorScript":"file:.\/index.js","style":"file:.\/style.css","render":"file:.\/render.php"}},"tagged_versions":["1.0.9"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3778427,"resolution":"1","location":"assets","locale":"","width":1440,"height":900},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3778427,"resolution":"2","location":"assets","locale":"","width":1440,"height":900},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3778427,"resolution":"3","location":"assets","locale":"","width":1440,"height":900},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3778427,"resolution":"4","location":"assets","locale":"","width":1440,"height":900},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3778427,"resolution":"5","location":"assets","locale":"","width":1440,"height":900},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3778427,"resolution":"6","location":"assets","locale":"","width":1440,"height":900}},"screenshots":{"1":"The folder tree beside the Media Library: open a folder, drag files onto another.","2":"List view with the folder tree, the Folders column and the folder filter.","3":"The folder filter in the editor's media dialog, next to the date filter.","4":"Folder checkboxes in the attachment details.","5":"One-click import from FileBird and other folder plugins.","6":"The Folder gallery block: the images of a folder on a page."}},"plugin_section":[],"plugin_tags":[9747,27266,130330,233,193262],"plugin_category":[],"plugin_contributors":[288387],"plugin_business_model":[],"class_list":["post-394015","plugin","type-plugin","status-publish","hentry","plugin_tags-folders","plugin_tags-media-categories","plugin_tags-media-folders","plugin_tags-media-library","plugin_tags-organize-media","plugin_contributors-karelialabs","plugin_committers-karelialabs"],"banners":{"banner":"https:\/\/ps.w.org\/shelfwright-media-library-folders-categories\/assets\/banner-772x250.png?rev=3778427","banner_2x":"https:\/\/ps.w.org\/shelfwright-media-library-folders-categories\/assets\/banner-1544x500.png?rev=3778427","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/shelfwright-media-library-folders-categories\/assets\/icon.svg?rev=3778427","icon":"https:\/\/ps.w.org\/shelfwright-media-library-folders-categories\/assets\/icon.svg?rev=3778427","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/shelfwright-media-library-folders-categories\/assets\/screenshot-1.png?rev=3778427","caption":"The folder tree beside the Media Library: open a folder, drag files onto another."},{"src":"https:\/\/ps.w.org\/shelfwright-media-library-folders-categories\/assets\/screenshot-2.png?rev=3778427","caption":"List view with the folder tree, the Folders column and the folder filter."},{"src":"https:\/\/ps.w.org\/shelfwright-media-library-folders-categories\/assets\/screenshot-3.png?rev=3778427","caption":"The folder filter in the editor's media dialog, next to the date filter."},{"src":"https:\/\/ps.w.org\/shelfwright-media-library-folders-categories\/assets\/screenshot-4.png?rev=3778427","caption":"Folder checkboxes in the attachment details."},{"src":"https:\/\/ps.w.org\/shelfwright-media-library-folders-categories\/assets\/screenshot-5.png?rev=3778427","caption":"One-click import from FileBird and other folder plugins."},{"src":"https:\/\/ps.w.org\/shelfwright-media-library-folders-categories\/assets\/screenshot-6.png?rev=3778427","caption":"The Folder gallery block: the images of a folder on a page."}],"raw_content":"<!--section=description-->\n<p><strong>Put your Media Library in folders. Drag, drop, done.<\/strong><\/p>\n\n<p>Shelfwright adds a folder tree beside the WordPress Media Library. Open a folder to see its files, drag files onto a folder to move them, and upload straight into the folder you are in. Unlimited folders and subfolders, free.<\/p>\n\n<h4>Switching from Enhanced Media Library?<\/h4>\n\n<p>Enhanced Media Library has not been updated since July 2024, and its filters no longer fit the media dialogs of WordPress 7. Shelfwright is built to take over without any migration:<\/p>\n\n<ul>\n<li><strong>Your categories are already there.<\/strong> Shelfwright uses the same <code>media_category<\/code> taxonomy, so every category shows up as a folder, with its subcategories and files. Nothing is copied or converted.<\/li>\n<li><strong>Your galleries keep working.<\/strong> <code>[gallery media_category=\"flowers,mosses\"]<\/code>, <code>[gallery media_category=\"california+flowers\"]<\/code>, <code>type<\/code>, <code>limit<\/code>, <code>orderby<\/code> and <code>[playlist]<\/code> work the same way.<\/li>\n<li><strong>Extra taxonomies stay.<\/strong> Taxonomies you created in Enhanced Media Library, and Categories or Tags you put on media, are registered again with the same names.<\/li>\n<li><strong>Category pages keep their address<\/strong>, if you used them.<\/li>\n<li>Activate Shelfwright, deactivate Enhanced Media Library. That is all.<\/li>\n<\/ul>\n\n<h4>Coming from another folder plugin?<\/h4>\n\n<p>Shelfwright finds the folders of <strong>FileBird<\/strong>, <strong>Real Media Library<\/strong>, <strong>Media Library Folders<\/strong>, <strong>Folders<\/strong>, <strong>HappyFiles<\/strong>, <strong>WP Media Folder<\/strong>, <strong>Wicked Folders<\/strong> and <strong>Media Library Assistant<\/strong>, and imports them with one click, subfolders and all. The other plugin's data is only read, never changed, so you can try Shelfwright without risk.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>Folder tree<\/strong> beside the Media Library, in grid and list view, with file counts, \"All files\" and \"In no folder\".<\/li>\n<li><strong>Drag and drop<\/strong>: drag files onto a folder to move them (hold Ctrl or Alt to copy), drag selected files together, drag folders to nest or reorder them.<\/li>\n<li><strong>Uploads go into the open folder.<\/strong><\/li>\n<li><strong>Subfolders<\/strong> as deep as you like; rename in place (double-click or F2), right-click for more.<\/li>\n<li><strong>One file, several folders<\/strong>: a logo can be in \"Brand\" and in \"Press kit\" at the same time, without a copy.<\/li>\n<li><strong>Folder filter in the editor's media dialogs<\/strong>, laid out for WordPress 7.<\/li>\n<li><strong>Folder checkboxes<\/strong> in the attachment details, a Folders column and a folder filter in list view.<\/li>\n<li><strong>Folder gallery block<\/strong>: show the images of a folder; images you add later appear automatically. Also <code>[gallery folder=\"logos\"]<\/code>.<\/li>\n<li><strong>Keyboard and screen reader friendly<\/strong>: the tree follows the WAI-ARIA tree pattern (arrow keys, Enter, F2, Delete, Shift+F10).<\/li>\n<li><strong>Your files never move.<\/strong> Folders are virtual, so URLs, links and image sizes stay exactly as they are.<\/li>\n<li><strong>No new database tables.<\/strong> Folders are a standard WordPress taxonomy, so backups, exports and other plugins understand them.<\/li>\n<\/ul>\n\n<h4>Shelfwright Pro<\/h4>\n\n<ul>\n<li><strong>AI sorting<\/strong>: an image-recognition model looks at your images and suggests the right folder for each one, using your own folder names. It runs in your browser, so your images are not sent anywhere. Review the suggestions and apply them in one click.<\/li>\n<li><strong>Sort new uploads automatically<\/strong> into the folder the AI suggests.<\/li>\n<li><strong>Folder colours.<\/strong><\/li>\n<li><strong>Download a folder as a ZIP file.<\/strong><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate Shelfwright.<\/li>\n<li>Open <strong>Media \u2192 Library<\/strong>. The folder tree is on the left. Click <strong>New folder<\/strong> to make your first folder, then drag files onto it.<\/li>\n<li>Using Enhanced Media Library? Your categories are already in the tree; deactivate Enhanced Media Library. Using another folder plugin? Click <strong>Import<\/strong> in the tree.<\/li>\n<\/ol>\n\n<p>Settings are under <strong>Settings \u2192 Media \u2192 Folders<\/strong>.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20shelfwright%20move%20my%20files%20on%20the%20server%3F\"><h3>Does Shelfwright move my files on the server?<\/h3><\/dt>\n<dd><p>No. Folders are virtual: a file's address never changes, so nothing on your site breaks. Moving a file between folders is instant.<\/p><\/dd>\n<dt id=\"can%20a%20file%20be%20in%20more%20than%20one%20folder%3F\"><h3>Can a file be in more than one folder?<\/h3><\/dt>\n<dd><p>Yes. Drag with Ctrl or Alt held down to copy it into another folder, or tick several folders in the attachment details.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20delete%20a%20folder%3F\"><h3>What happens when I delete a folder?<\/h3><\/dt>\n<dd><p>The folder is removed; its files stay in the Media Library, and its subfolders move up one level.<\/p><\/dd>\n<dt id=\"i%20used%20enhanced%20media%20library.%20do%20i%20need%20to%20import%20anything%3F\"><h3>I used Enhanced Media Library. Do I need to import anything?<\/h3><\/dt>\n<dd><p>No. Shelfwright uses the same categories, so they are already there. Deactivate Enhanced Media Library once Shelfwright is active, so the two do not both change the Media Library.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20folders%20if%20i%20delete%20shelfwright%3F\"><h3>What happens to my folders if I delete Shelfwright?<\/h3><\/dt>\n<dd><p>They stay, so you can reinstall or switch back to Enhanced Media Library. If you want them removed too, tick \"Also delete all folders when Shelfwright is deleted\" under Settings \u2192 Media first. Your files are never deleted.<\/p><\/dd>\n<dt id=\"who%20can%20manage%20folders%3F\"><h3>Who can manage folders?<\/h3><\/dt>\n<dd><p>Anyone who can upload files can create, rename and fill folders. Deleting folders needs an Editor or Administrator.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20large%20libraries%3F\"><h3>Does it work with large libraries?<\/h3><\/dt>\n<dd><p>Yes. Folders use WordPress' own taxonomy tables and indexes, and imports run in batches.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.9<\/h4>\n\n<ul>\n<li>Moving files between folders (dragging, bulk moves, the folder boxes in the attachment details and WordPress's own attachment form): the new folder is added first and read back from the database; the file leaves its old folders only when the new one is really there. A move whose new folder could not be saved keeps the file in all its old folders (also with subfolders shown) and is reported with the names of the files; a file that got the new folder but could not leave the old one is reported as such.<\/li>\n<li>The list view no longer reloads the page under a message about files that could not be changed; it offers a Reload button instead. The same for the import's final message.<\/li>\n<li>Ticking a folder that was deleted meanwhile changes nothing (the old folder is not removed) and says why. A move uses the subfolder setting of the view it was made in.<\/li>\n<li>Deleting a folder is done under the folder lock and checked afterwards; a folder whose parent was lost is shown at the top level instead of disappearing. Renaming and moving a folder are read back.<\/li>\n<li>An upload whose chosen folder could not be set is not sorted elsewhere by the AI, and its message can no longer be taken by another request.<\/li>\n<li>Deleting the plugin with \"Also delete all folders\" deletes the folders before the settings, so a run that stops half way keeps the choice.<\/li>\n<li>Documentation updated for this version: installation file names, continuing an interrupted import, the list of import failures with Retry and Finish without them, and exactly what deleting the plugin keeps and removes.<\/li>\n<\/ul>\n\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>Import from other folder plugins: nothing that fails is passed over. A folder that cannot be created (or is deleted while the import runs) and every file whose folders cannot be written are kept with the error and listed in the folder tree, all of them, with a CSV download. Retry writes them again. The import counts as done only when everything is written, or when you choose \"Finish without them\" after seeing the list.<\/li>\n<li>Import: a database read error stops the step without moving on, the position is kept on the server and read by key (links the other plugin adds or removes meanwhile are never skipped or read twice), every write is checked against the file's folders afterwards, and a finished import is never run again by a late request from another tab.<\/li>\n<li>Moving, adding and removing files in bulk: the new folder is added before the old one is left, every write is checked afterwards, and files whose folders could not be saved are reported apart from files you may not change.<\/li>\n<li>Uploads into a folder that was deleted meanwhile, or whose folder could not be set, are reported instead of landing in no folder unnoticed.<\/li>\n<li>This plugin no longer contains any code for Shelfwright Pro's features: Pro adds them itself.<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Attachment details: while a folder change is being saved, further ticks and unticks are kept as changes of their own (this folder added, that one removed) instead of as a whole selection. When the save comes back, the waiting changes are applied on top of the folders the server returned, so a folder another tab, a drag or automatic sorting added or removed in the meantime is never undone.<\/li>\n<li>A save whose answer was lost (an error page after the server had already stored it) is no longer cancelled against a later click: the server is asked which folders the file has now, a change made to the same folder in the meantime wins, and only what is still missing is sent. Retry sends only the changes that are not saved.<\/li>\n<li>Attachment details drawn again (the next file, the dialog reopened) show the folders saved last, also after files were dragged or sorted. Unticking the folder that is open takes the file out of the grid.<\/li>\n<li>Leaving the page asks first while a folder change is on its way, or when a change that could not be saved is not safely stored in the browser (storage full or blocked, or replaced by another tab).<\/li>\n<li>A folder change that the database did not take is reported instead of looking saved.<\/li>\n<li>Media \u2192 Edit no longer shows WordPress's own Folders box, which sent the whole list and took away folders given elsewhere; Shelfwright's folder boxes are there instead and save only what changed.<\/li>\n<li>The folder script now comes with every media dialog (also with the folder filter switched off, and on the front end), so each tick is saved as its own change.<\/li>\n<li>WordPress's own attachment form (where the script is not loaded) saves only what changed: every folder box has its own name (WordPress sent only the last ticked box of a shared name), the server remembers what each copy of the form saved last and saves one file at a time, so quick ticks and unticks end as the boxes show. A failed save is reported on the next screen.<\/li>\n<li>The REST route for one file's folders only takes changes (add, remove); it no longer replaces the whole list. More than 500 folder changes for one file are saved in several requests instead of being refused.<\/li>\n<li>An upload into the open folder is added to the folders the new file already has instead of replacing them.<\/li>\n<li>Renaming or moving a folder next to a folder with the same name is refused, as creating one is. [gallery] and [playlist] also find a renamed folder by its new name (it keeps its old slug).<\/li>\n<li>Import: folders are matched by their exact name, so \"C++\" is no longer merged into \"C\" (same slug). One import step runs at a time per source; a second tab or administrator is told the import is already running, and steps from two tabs continue the same import. When the server has to start its folder step over, the import follows it instead of stopping.<\/li>\n<li>Deleting the plugin keeps the folder order and colours along with the folders, unless \"Also delete all folders\" is ticked.<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Unsaved folder selections and other remembered state (open folder, open branches) are kept per site and per user. Two WordPress sites under one address, or two users of one browser, no longer see each other's selections. Unsaved selections stored by 1.0.5 and earlier, which did not say whose they were, are discarded.<\/li>\n<li>Settings: the settings are registered with a plain function name for the sanitize callback.<\/li>\n<li>Importers read the other plugin's tables with prepared queries.<\/li>\n<li>Attachment details: the folder checkboxes save only what you changed (the folders you ticked or unticked), so a folder that was added or removed elsewhere in the meantime (another tab, a drag, another user) is kept. A selection that could not be saved is applied on top of the file's current folders when you retry it, also after a reload.<\/li>\n<li>Without Shelfwright's script on the page, WordPress's own attachment form saves the folder checkboxes.<\/li>\n<li>The folder route of the REST API only accepts media files.<\/li>\n<li>Importing from another folder plugin works in batches: folders are created a batch at a time with a progress count, file links are read page by page, so large libraries import without running into time limits. Files that could not be added and folders that could not be matched are counted in the final message.<\/li>\n<li>Moving many files into or out of a folder changes only the folders that really change and counts the folders once at the end, which is faster on large selections.<\/li>\n<li>Uninstalling on a multisite network cleans every site, import progress included.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Attachment details: a folder selection that is still waiting to be saved is no longer lost when you close the dialog or move to another file. Each file keeps its latest selection until it is saved. If saving fails, the selection is kept and the file shows \"Folders not saved\" with Retry whenever you open it again, also after a reload. Leaving the page while a selection is still being saved asks first. When the same file is open in several media dialogs (Add Media, featured image), every one of them shows the same selection.<\/li>\n<li>Folders deleted in another tab: opening one shows no files instead of the whole library, creating a subfolder in it is refused instead of landing at the top level, and moving files into it reports an error and refreshes the folder tree.<\/li>\n<li>With \"Show files in subfolders too\", moving files out of a folder or taking them out also takes them out of its subfolders, as the view showed. Messages now count only files that really changed, plus the ones that were already that way.<\/li>\n<li>Dragging a folder into a new place moves only that folder, even when the tree in this tab is out of date; folder moves are sent one at a time.<\/li>\n<li>A refresh of the folder tree (finished upload, automatic sorting) no longer closes a rename or new-folder box while you type.<\/li>\n<li>Uploads go into the folder that was open when the files were dropped, even if you open another folder while they upload.<\/li>\n<li>An import that stops with an error continues where it stopped when you click Import again.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Attachment details: folder checkboxes are saved one at a time per file, so the last selection is always the one saved. A failed save keeps your selection, says it was not saved and offers Retry.<\/li>\n<li>The folder tree now says so when it cannot be refreshed.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Shortcodes: [gallery] and [playlist] that name an empty or unknown folder now show nothing. Before, WordPress fell back to the post's own attached files.<\/li>\n<li>Folder lists (the folder filter, dropdowns and the Folder gallery block) show folders at any depth; there was a limit of 50 levels.<\/li>\n<li>Folder gallery block: if the folders cannot be loaded, the block says so and shows the error, instead of asking you to create a folder.<\/li>\n<li>Import: folders nested more than 60 levels deep keep their place under their parent.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Folder galleries: \"0\" (or no limit) now really shows every image in the folder, also for the [gallery folder=\"\u2026\"] shortcode. There is no hidden maximum.<\/li>\n<li>Large selections are put in folders in batches, so every selected file is handled. If some files cannot be changed, the message says how many and why. The server refuses requests above 2,000 files instead of cutting them.<\/li>\n<li>Importing from another folder plugin continues until every link is done, and says where it stopped if a batch fails.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>AI sorting: an image is only ticked or sorted automatically when it really matches the folder name on its own and the best folder clearly beats the others. Unrelated images are left where they are. The review list says \"Good match\", \"Possible\" or \"No folder fits\" instead of a relative percentage.<\/li>\n<li>Automatic sorting now covers images uploaded anywhere (Media Library, Add New, media dialogs, block editor). They are sorted the next time the Media Library is open; a folder chosen by hand is never changed.<\/li>\n<li>AI sorting handles libraries of any size: images are fetched page by page instead of at most 3,000.<\/li>\n<li>Folder names are cut safely also on servers without the PHP mbstring extension.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release: folder tree for grid and list view, drag and drop for files and folders, uploads into the open folder, folder filter in media dialogs, folder checkboxes, Folder gallery block, Enhanced Media Library compatibility (categories, extra taxonomies, gallery and playlist shortcodes), importers for eight folder plugins.<\/li>\n<\/ul>","raw_excerpt":"Folders for the Media Library: drag and drop, uploads into folders, folder galleries. Keeps your Enhanced Media Library categories as they are.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/394015","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=394015"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/karelialabs"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=394015"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=394015"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=394015"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=394015"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=394015"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=394015"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}