{"id":158016,"date":"2022-06-02T05:24:02","date_gmt":"2022-06-02T05:24:02","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/changeme\/"},"modified":"2024-02-10T01:22:00","modified_gmt":"2024-02-10T01:22:00","slug":"wp-plugin-dependencies","status":"closed","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/wp-plugin-dependencies\/","author":6820837,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"3.0.4","stable_tag":"3.0.4","tested":"6.4.8","requires":"6.4","requires_php":"7.0","requires_plugins":null,"header_name":"Plugin Dependencies","header_author":"Andy Fragen, Colin Stewart, Paul Biron","header_description":"Parses 'Requires Plugin' header, add plugin install dependencies tab, and information about dependencies.","assets_banners_color":"","last_updated":"2024-02-10 01:22:00","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/wp-plugin-dependencies","header_author_uri":"","rating":5,"author_block_rating":4.6875,"active_installs":10,"downloads":41292,"num_ratings":3,"support_threads":0,"support_threads_resolved":0,"author_block_count":1,"sections":["description","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"afragen","date":"2022-06-02 05:23:49"},"1.1.0":{"tag":"1.1.0","author":"afragen","date":"2022-06-02 20:10:48"},"1.1.1":{"tag":"1.1.1","author":"afragen","date":"2022-06-07 04:45:15"},"1.10.0":{"tag":"1.10.0","author":"afragen","date":"2023-04-29 21:22:24"},"1.11.0":{"tag":"1.11.0","author":"afragen","date":"2023-05-21 17:42:03"},"1.12.0":{"tag":"1.12.0","author":"afragen","date":"2023-05-22 01:39:04"},"1.12.1":{"tag":"1.12.1","author":"afragen","date":"2023-07-01 15:59:45"},"1.13.0":{"tag":"1.13.0","author":"afragen","date":"2023-07-11 00:09:13"},"1.14.0":{"tag":"1.14.0","author":"afragen","date":"2023-07-19 22:23:51"},"1.14.1":{"tag":"1.14.1","author":"afragen","date":"2023-07-20 15:06:45"},"1.14.2":{"tag":"1.14.2","author":"afragen","date":"2023-07-21 05:03:13"},"1.14.3":{"tag":"1.14.3","author":"afragen","date":"2023-07-30 22:10:39"},"1.2.0":{"tag":"1.2.0","author":"afragen","date":"2022-06-11 00:45:34"},"1.2.1":{"tag":"1.2.1","author":"afragen","date":"2022-06-23 19:14:51"},"1.3.0":{"tag":"1.3.0","author":"afragen","date":"2022-07-04 22:32:03"},"1.4.0":{"tag":"1.4.0","author":"afragen","date":"2022-07-28 18:53:19"},"1.4.1":{"tag":"1.4.1","author":"afragen","date":"2022-09-02 19:25:47"},"1.5.0":{"tag":"1.5.0","author":"afragen","date":"2022-09-02 23:44:01"},"1.5.1":{"tag":"1.5.1","author":"afragen","date":"2022-09-03 00:08:42"},"1.6.0":{"tag":"1.6.0","author":"afragen","date":"2022-10-15 18:47:57"},"1.6.1":{"tag":"1.6.1","author":"afragen","date":"2022-10-18 19:57:57"},"1.6.2":{"tag":"1.6.2","author":"afragen","date":"2022-10-19 02:02:07"},"1.7.0":{"tag":"1.7.0","author":"afragen","date":"2022-10-25 18:04:17"},"1.7.1":{"tag":"1.7.1","author":"afragen","date":"2022-10-27 13:11:12"},"1.7.2":{"tag":"1.7.2","author":"afragen","date":"2023-01-02 20:48:40"},"1.7.3":{"tag":"1.7.3","author":"afragen","date":"2023-02-01 05:42:38"},"1.7.4":{"tag":"1.7.4","author":"afragen","date":"2023-02-08 21:46:38"},"1.7.5":{"tag":"1.7.5","author":"afragen","date":"2023-02-10 02:37:20"},"1.7.6":{"tag":"1.7.6","author":"afragen","date":"2023-02-11 20:19:20"},"1.7.7":{"tag":"1.7.7","author":"afragen","date":"2023-02-12 00:58:18"},"1.7.8":{"tag":"1.7.8","author":"afragen","date":"2023-03-03 19:19:17"},"1.7.9":{"tag":"1.7.9","author":"afragen","date":"2023-04-05 20:23:51"},"1.8.0":{"tag":"1.8.0","author":"afragen","date":"2023-04-07 22:38:41"},"1.9.0":{"tag":"1.9.0","author":"afragen","date":"2023-04-11 02:24:05"},"2.0.0":{"tag":"2.0.0","author":"afragen","date":"2023-08-09 05:45:16"},"2.0.1":{"tag":"2.0.1","author":"afragen","date":"2023-08-16 17:49:29"},"2.0.2":{"tag":"2.0.2","author":"afragen","date":"2023-08-18 17:01:06"},"3.0.0":{"tag":"3.0.0","author":"afragen","date":"2023-10-07 01:00:25"},"3.0.1":{"tag":"3.0.1","author":"afragen","date":"2023-11-21 18:53:00"},"3.0.2":{"tag":"3.0.2","author":"afragen","date":"2024-02-10 01:04:54"},"3.0.3":{"tag":"3.0.3","author":"afragen","date":"2024-02-10 01:13:15"},"3.0.4":{"tag":"3.0.4","author":"afragen","date":"2024-02-10 01:22:00"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":4},"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0","1.1.1","1.10.0","1.11.0","1.12.0","1.12.1","1.13.0","1.14.0","1.14.1","1.14.2","1.14.3","1.2.0","1.2.1","1.3.0","1.4.0","1.4.1","1.5.0","1.5.1","1.6.0","1.6.1","1.6.2","1.7.0","1.7.1","1.7.2","1.7.3","1.7.4","1.7.5","1.7.6","1.7.7","1.7.8","1.7.9","1.8.0","1.9.0","2.0.0","2.0.1","2.0.2","3.0.0","3.0.1","3.0.2","3.0.3","3.0.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":2894631,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":2894631,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":2772293,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":2932920,"resolution":"4","location":"assets","locale":""}},"screenshots":{"1":"Plugin is a Dependency and Plugin needing Dependencies","2":"Plugin with Dependencies","3":"Plugin Dependencies tab","4":"Search page with dependencies"}},"plugin_section":[60],"plugin_tags":[],"plugin_category":[],"plugin_contributors":[78960,209084,144821],"plugin_business_model":[216239],"class_list":["post-158016","plugin","type-plugin","status-closed","hentry","plugin_section-beta","plugin_contributors-afragen","plugin_contributors-costdev","plugin_contributors-pbiron","plugin_business_model-community","plugin_committers-afragen"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/wp-plugin-dependencies.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/wp-plugin-dependencies\/assets\/screenshot-1.png?rev=2894631","caption":"Plugin is a Dependency and Plugin needing Dependencies"},{"src":"https:\/\/ps.w.org\/wp-plugin-dependencies\/assets\/screenshot-2.png?rev=2894631","caption":"Plugin with Dependencies"},{"src":"https:\/\/ps.w.org\/wp-plugin-dependencies\/assets\/screenshot-3.png?rev=2772293","caption":"Plugin Dependencies tab"},{"src":"https:\/\/ps.w.org\/wp-plugin-dependencies\/assets\/screenshot-4.png?rev=2932920","caption":"Search page with dependencies"}],"raw_content":"<!--section=description-->\n<p>Parses a 'Requires Plugins' header. If a requiring plugin does not have all its dependencies installed and active, it will not activate.<\/p>\n\n<p><a href=\"https:\/\/make.wordpress.org\/core\/2022\/02\/24\/feature-project-plugin-dependencies\/\">Make post for Plugin Dependencies Feature Project<\/a><\/p>\n\n<p>Please open issues at <a href=\"https:\/\/github.com\/WordPress\/wp-plugin-dependencies\/issues\">WordPress\/wp-plugin-dependencies issues<\/a><\/p>\n\n<p>My solution to <a href=\"https:\/\/core.trac.wordpress.org\/ticket\/22316\">#22316<\/a>. Feature plugin version of <a href=\"https:\/\/github.com\/WordPress\/wordpress-develop\/pull\/3032\">PR #3032<\/a><\/p>\n\n<ul>\n<li>Parses the <strong>Requires Plugins<\/strong> header that defines plugin dependencies using a comma separated list of wp.org slugs. To test, you will need to add the header and content to a plugin.<\/li>\n<li>In the plugins page, a dependent plugin is unable to be deleted or deactivated if the requiring plugin is active.<\/li>\n<li>Plugin dependencies can be deactivated or deleted if the requiring plugin is not active.<\/li>\n<li>Messaging in the plugin row description is inserted; as is data noting which plugins require the dependency.<\/li>\n<li>Ensures that plugins with unmet dependencies cannot be activated.<\/li>\n<li>Circular dependencies cannot be activated and an admin notice noting the circular dependencies is displayed.<\/li>\n<li>Ensures that plugins with unmet dependencies cannot be activated.<\/li>\n<\/ul>\n\n<p>There are several single file plugins that may be used for testing in <code>test-plugins\/<\/code>.<\/p>\n\n<h3>Pull Requests<\/h3>\n\n<p>PRs should be made against the <code>develop<\/code> branch.<\/p>\n\n<!--section=changelog-->\n<h4>3.0.1 \/ 2023-11-21<\/h4>\n\n<ul>\n<li>fix for multisite, too many <code>%s<\/code><\/li>\n<\/ul>\n\n<h4>3.0.0 \/ 2023-10-06<\/h4>\n\n<ul>\n<li>override <code>WP_Plugins_List_Table<\/code> to add filter and restructuring of PR<\/li>\n<li>convert to static class<\/li>\n<li>update plugin card description for clarity<\/li>\n<li>update Requires WP to 6.4 due to <code>wp_admin_notice()<\/code> use<\/li>\n<li>many more updates to coincide with refactoring of PR<\/li>\n<\/ul>\n\n<h4>2.0.2 \/ 2023-08-18<\/h4>\n\n<ul>\n<li>add single file plugin to <code>$plugin_dirnames<\/code><\/li>\n<\/ul>\n\n<h4>2.0.1 \/ 2023-08-16<\/h4>\n\n<ul>\n<li>cleanup<\/li>\n<\/ul>\n\n<h4>2.0.0 \/ 2023-08-08<\/h4>\n\n<ul>\n<li>remove Dependencies tab, Manage Dependencies link, etc, per @azaozz<\/li>\n<li>skip associated PHPUnit tests<\/li>\n<li>increase scope to protected for many things<\/li>\n<li>remove <code>class Init<\/code>, not needed<\/li>\n<li>deactivate buttons, don't change text<\/li>\n<\/ul>\n\n<h4>1.14.3 \/ 2023-70-30<\/h4>\n\n<ul>\n<li>add null coalesce<\/li>\n<li>require PHP 7.0<\/li>\n<li>make commit guard more permissive<\/li>\n<\/ul>\n\n<h4>1.14.2 \/ 2023-07-20<\/h4>\n\n<ul>\n<li>update guard in <code>get_dependency_filepaths()<\/code><\/li>\n<\/ul>\n\n<h4>1.14.1 \/ 2023-07-20<\/h4>\n\n<ul>\n<li>update modal button on plugin-install.php<\/li>\n<\/ul>\n\n<h4>1.14.0 \/ 2023-07-19<\/h4>\n\n<ul>\n<li>update <em>More details<\/em> link<\/li>\n<li>fixed strange error between slug from different sources in PD part 2<\/li>\n<li>update JS to correctly display Plugin Card button, thanks @costdev<\/li>\n<\/ul>\n\n<h4>1.13.0 \/ 2023-07-10<\/h4>\n\n<ul>\n<li>update version check<\/li>\n<li>simplify plugin card notice<\/li>\n<\/ul>\n\n<h4>1.12.1 \/ 2023-07-01<\/h4>\n\n<ul>\n<li>extra life to 6.4-beta1<\/li>\n<\/ul>\n\n<h4>1.12.0 \/ 2023-05-21<\/h4>\n\n<ul>\n<li>change plugin card button to 'Cannot Install' if dependencies not met<\/li>\n<li>override <code>WP_Plugin_Install_List_Table::display_rows()<\/code> to use our refactored <code>wp_get_plugin_action_button()<\/code><\/li>\n<\/ul>\n\n<h4>1.11.0 \/ 2023-05-21<\/h4>\n\n<ul>\n<li>add <strong>Requires:<\/strong> data to plugin cards of uninstalled plugins where repo plugins have <code>Requires Plugins<\/code> header set<\/li>\n<li>add temporary style kludge to above<\/li>\n<li>add caching to uninstalled plugin data<\/li>\n<li>abstract code to create plugin install action buttons<\/li>\n<\/ul>\n\n<h4>1.10.0 \/ 2023-04-29<\/h4>\n\n<ul>\n<li>show <code>Cannot Install<\/code> button in Dependencies tab for dependencies with no package<\/li>\n<li>return of generic plugins_api() response to it's own hook, avoids having to hide items in plugin card<\/li>\n<li>add more data to generic plugin card<\/li>\n<li>update for WP-CLI<\/li>\n<li>no need to start on hook<\/li>\n<\/ul>\n\n<h4>1.9.0 \/ 2023-04-10<\/h4>\n\n<ul>\n<li>ensure WP 6.0 compatibility with <code>move_dir()<\/code><\/li>\n<li>use JSON in plugin root for non-dot org dependencies <em>acceptable<\/em> for dot org \ud83e\udd1e<\/li>\n<li>update test plugins<\/li>\n<li>run hooks during AJAX in case you really want an Install to happen<\/li>\n<li>update regex to strictly follow plugin repository slug format with tests<\/li>\n<\/ul>\n\n<h4>1.8.0 \/ 2023-04-07<\/h4>\n\n<ul>\n<li>update to work natively with <code>&lt;slug&gt;|&lt;URI&gt;<\/code> format in <code>Requires Plugins<\/code> header<\/li>\n<li>split PD and PDv2 into different classes<\/li>\n<li>add more tests<\/li>\n<\/ul>\n\n<h4>1.7.9 \/ 2023-04-05<\/h4>\n\n<ul>\n<li>update action link to keep <code>Cannot Activate | Manage Dependencies<\/code> together<\/li>\n<li>fix for multisite plugin card<\/li>\n<\/ul>\n\n<h4>1.7.8 \/ 2023-03-03<\/h4>\n\n<ul>\n<li>composer update<\/li>\n<\/ul>\n\n<h4>1.7.7 \/ 2023-02-11<\/h4>\n\n<ul>\n<li>add a11y that I (@afragen) clearly forgot, it's a start<\/li>\n<li>fix circular dependency test plugins to have containing folder, dependencies must have a containing folder<\/li>\n<\/ul>\n\n<h4>1.7.6 \/ 2023-02-11<\/h4>\n\n<ul>\n<li>update <code>Name<\/code> header of test plugins so they can't be mistaken for core plugin after AJAX Install<\/li>\n<\/ul>\n\n<h4>1.7.5 \/ 2023-02-09<\/h4>\n\n<ul>\n<li>cleanup docblocks<\/li>\n<li>initialize during class loading<\/li>\n<\/ul>\n\n<h4>1.7.4 \/ 2023-02-08<\/h4>\n\n<ul>\n<li>composer update<\/li>\n<\/ul>\n\n<h4>1.7.3 \/ 2023-01-30<\/h4>\n\n<ul>\n<li>composer update using Composer 2.5.0 to avoid bug<\/li>\n<\/ul>\n\n<h4>1.7.2 \/ 2023-01-02<\/h4>\n\n<ul>\n<li>add unresolvable circular dependency example<\/li>\n<li>update for PHP standards<\/li>\n<\/ul>\n\n<h4>1.7.1 \/ 2022-10-27<\/h4>\n\n<ul>\n<li>remove \"improved visibility\" of <code>Dependencies<\/code> link<\/li>\n<\/ul>\n\n<h4>1.7.0 \/ 2022-10-25<\/h4>\n\n<ul>\n<li>notification of circular dependencies<\/li>\n<li>add info text under Dependencies tab, I found a hook \ud83d\ude4c<\/li>\n<li>display admin notices on specific pages<\/li>\n<li>added some code improvements, thanks Colin<\/li>\n<li>add <code>Requires:<\/code> data to plugin card<\/li>\n<li>modify plugin card action links if dependency not met<\/li>\n<li>improve visibility of <code>Dependencies<\/code> link<\/li>\n<\/ul>\n\n<h4>1.6.2 \/ 2022-10-18<\/h4>\n\n<ul>\n<li>composer update better checking in <code>afragen\/add-plugin-dependency-api<\/code><\/li>\n<\/ul>\n\n<h4>1.6.1 \/ 2022-10-18<\/h4>\n\n<ul>\n<li>more precise check of dependency slug for file path<\/li>\n<li>don't show admin notice to users who are unable to act upon them<\/li>\n<li>update composer dependencies<\/li>\n<li>add skeleton JSON response for Gravity Forms<\/li>\n<\/ul>\n\n<h4>1.6.0 \/ 2022-10-15<\/h4>\n\n<ul>\n<li>move <code>plugin_dependency_endpoints<\/code> hook outside of class<\/li>\n<li>composer update<\/li>\n<li>add filter <code>wp_plugin_dependencies_slugs<\/code> to modify slugs in cases of non-premium plugin replaced with premium plugin<\/li>\n<li>keep checking plugins API for plugin with generic response<\/li>\n<li>update conditional for generic response<\/li>\n<li>update testing plugins<\/li>\n<\/ul>\n\n<h4>1.5.1 \/ 2022-09-02<\/h4>\n\n<ul>\n<li>fix for actual <code>gravityforms<\/code> slug<\/li>\n<\/ul>\n\n<h4>1.5.0 \/ 2022-09-02<\/h4>\n\n<ul>\n<li>add <code>afragen\/add-plugin-dependency-api<\/code> as composer requirement<\/li>\n<li>update test plugins removing <code>hello-dolly<\/code> and adding <code>git-updater<\/code> as non dot org example<\/li>\n<li>check empty plugin response for error<\/li>\n<\/ul>\n\n<h4>1.4.1 \/ 2022-08-18<\/h4>\n\n<ul>\n<li>oops, fixed typo in one of the testing plugins<\/li>\n<\/ul>\n\n<h4>1.4.0 \/ 2022-07-28<\/h4>\n\n<ul>\n<li>bring more inline with PR<\/li>\n<li>remove action on class requires, use hook<\/li>\n<li>fix multisite compatibility<\/li>\n<\/ul>\n\n<h4>1.3.0 \/ 2022-07-04 \ud83c\udf86<\/h4>\n\n<ul>\n<li>fix <code>get_requires_plugin_names()<\/code> to account for empty header<\/li>\n<li>update regex to allow for some non-ascii languages and symbols as slugs<\/li>\n<\/ul>\n\n<h4>1.2.1 \/ 2022-06-23<\/h4>\n\n<ul>\n<li>added several single file testing plugins to <code>test-plugins\/<\/code><\/li>\n<\/ul>\n\n<h4>1.2.0 \/ 2022-06-10<\/h4>\n\n<ul>\n<li>don't display admin notice link to Dependencies tab when on Dependencies tab<\/li>\n<li>be more specific about only removing dependency plugin row checkbox when a requiring plugin is active<\/li>\n<\/ul>\n\n<h4>1.1.1 \/ 2022-06-06<\/h4>\n\n<ul>\n<li>limit scope of class methods where we can<\/li>\n<li>update screenshots<\/li>\n<\/ul>\n\n<h4>1.1.0 \/ 2022-06-02<\/h4>\n\n<ul>\n<li>change 'Activate' plugin action link to 'Cannot Activate' text when plugin has unmet dependencies<\/li>\n<li>remove checkbox from plugin row when plugin has unmet dependencies<\/li>\n<li>use <em>View details<\/em> link for plugins listed in <strong>Requires:<\/strong> in plugin row<\/li>\n<\/ul>\n\n<h4>1.0.0 \/ 2022-05-31 \ud83c\udf82<\/h4>\n\n<ul>\n<li>fix typo<\/li>\n<li>initial dot org release<\/li>\n<\/ul>\n\n<h4>0.16.2 \/ 2022-05-27<\/h4>\n\n<ul>\n<li>update requirements to WP 6.0<\/li>\n<\/ul>\n\n<h4>0.16.1 \/ 2022-05-24<\/h4>\n\n<ul>\n<li>add auto-deactivate for when committed to trunk, will need updating later<\/li>\n<\/ul>\n\n<h4>0.16.0 \/ 2022-05-08<\/h4>\n\n<ul>\n<li>rename <code>parse_headers()<\/code> to <code>parse_plugin_headers()<\/code>, future proofing<\/li>\n<li>update unit tests<\/li>\n<\/ul>\n\n<h4>0.15.1 \/ 2022-04-29<\/h4>\n\n<ul>\n<li>minor cleanup<\/li>\n<\/ul>\n\n<h4>0.15.0 \/ 2022-04-28<\/h4>\n\n<ul>\n<li>refactor with <code>get_requires_plugins_names()<\/code><\/li>\n<li>update admin notice for multisite<\/li>\n<\/ul>\n\n<h4>0.14.0<\/h4>\n\n<ul>\n<li>updated required plugin data expiration<\/li>\n<\/ul>\n\n<h4>0.13.1 \/ 2022-04-25<\/h4>\n\n<ul>\n<li>fix <code>parse_headers()<\/code><\/li>\n<\/ul>\n\n<h4>0.13.0 \/ 2022-04-23<\/h4>\n\n<ul>\n<li>prep for initial release<\/li>\n<\/ul>\n\n<h4>0.12.9 \/ 2022-04-19<\/h4>\n\n<ul>\n<li>add plugin cards for slugs with no API data<\/li>\n<li>hide action links and bottom of card in plugin cards for slugs with no API data<\/li>\n<\/ul>\n\n<h4>0.12.3<\/h4>\n\n<p>*rename and reschuffle some functions<\/p>\n\n<h4>0.12.2 \/ 2022-04-06<\/h4>\n\n<ul>\n<li>harden a bit<\/li>\n<li>clean up some testing stuff<\/li>\n<li><code>plugin_install_description<\/code> filter committed to core<\/li>\n<\/ul>\n\n<h4>0.12.0 \/ 2022-04-03<\/h4>\n\n<ul>\n<li>readme.txt<\/li>\n<li>fix PHP error if no plugins with <code>Requires Plugins<\/code> header found<\/li>\n<li>only show single, relevant admin notice<\/li>\n<\/ul>\n\n<h4>0.11.6.4<\/h4>\n\n<ul>\n<li>plugin to date with new changelog<\/li>\n<\/ul>","raw_excerpt":"Parses a &#039;Requires Plugins&#039; header. If a requiring plugin does not have all its dependencies installed and active, it will not activate.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/158016","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=158016"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/afragen"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=158016"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=158016"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=158016"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=158016"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=158016"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=158016"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}