{"id":5282,"date":"2025-02-23T23:30:04","date_gmt":"2025-02-23T23:30:04","guid":{"rendered":"https:\/\/s-o-s.net\/plugin-dependencies\/"},"modified":"2025-02-23T23:30:04","modified_gmt":"2025-02-23T23:30:04","slug":"plugin-dependencies","status":"publish","type":"post","link":"https:\/\/s-o-s.net\/en_gb\/plugin-dependencies\/","title":{"rendered":"Plugin Dependencies"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<article id=\"post-158016\" class=\"alignwide post-158016 plugin type-plugin status-publish hentry plugin_section-beta plugin_contributors-afragen plugin_contributors-costdev plugin_contributors-pbiron plugin_business_model-community plugin_committers-afragen\">\n<header class=\"plugin-header\">\n<div class=\"plugin-notice notice notice-warning notice-alt\">\n<p>This plugin <strong>hasn\u0092t been tested with the latest 3 major releases of WordPress<\/strong>. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.<\/p>\n<\/div>\n<p><!-- .plugin-notice -->\t\t<\/p>\n<div class=\"entry-heading-container\">\n<div>\n<div class=\"entry-thumbnail\">\n\t\t\t\t\t\t\t\t\t<\/div>\n<div>\n<h1 class=\"plugin-title\">Plugin Dependencies<\/h1>\n<p>\t\t\t\t\t<span class=\"byline\">By <span class=\"author vcard\"><a target=\"_blank\" class=\"url fn n\" href=\"https:\/\/profiles.wordpress.org\/afragen\/\" rel=\"noopener\">Andy Fragen<\/a><\/span><\/span>\n\t\t\t\t<\/div>\n<\/p><\/div>\n<div class=\"plugin-actions\">\n<div class=\"wp-block-button is-small plugin-download download-button\"><a target=\"_blank\" class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/downloads.wordpress.org\/plugin\/wp-plugin-dependencies.3.0.4.zip\" rel=\"noopener\">Download<\/a><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/header>\n<p><!-- .entry-header --><\/p>\n<p>\t<span id=\"description\"><\/span><br \/>\n\t<span id=\"reviews\"><\/span><br \/>\n\t<span id=\"installation\"><\/span><br \/>\n\t<span id=\"developers\"><\/span><br \/>\n\t<span id=\"advanced\" class=\"\"><\/span><br \/>\n\t<span id=\"section-links\"><\/p>\n<ul class=\"tabs clear\">\n<li id=\"tablink-description\"><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/wp-plugin-dependencies\/#description\" rel=\"noopener\">Details<\/a><\/li>\n<li id=\"tablink-reviews\"><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/wp-plugin-dependencies\/#reviews\" rel=\"noopener\">Reviews<\/a><\/li>\n<li id=\"tablink-developers\"><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/wp-plugin-dependencies\/#developers\" rel=\"noopener\">Development<\/a><\/li>\n<\/ul>\n<div id=\"link-support\">\n\t\t\t<a target=\"_blank\" href=\"https:\/\/wordpress.org\/support\/plugin\/wp-plugin-dependencies\/\" rel=\"noopener\">Support<\/a>\n\t\t<\/div>\n<p>\t<\/span><br \/>\n\t<script type=\"text\/javascript\">if ( '#changelog' == window.location.hash ) { window.setTimeout( function() { window.location.hash=\"#developers\"; }, 10 ); }<\/script><\/p>\n<div class=\"entry-content\">\n<div id=\"tab-description\" class=\"plugin-description section\">\n<h2 id=\"description-header\">Description<\/h2>\n<p>Parses a \u2018Requires Plugins\u2019 header. If a requiring plugin does not have all its dependencies installed and active, it will not activate.<\/p>\n<p><a target=\"_blank\" href=\"https:\/\/make.wordpress.org\/core\/2022\/02\/24\/feature-project-plugin-dependencies\/\" rel=\"nofollow ugc noopener\">Make post for Plugin Dependencies Feature Project<\/a><\/p>\n<p>Please open issues at <a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/wp-plugin-dependencies\/issues\" rel=\"nofollow ugc noopener\">WordPress\/wp-plugin-dependencies issues<\/a><\/p>\n<p>My solution to <a target=\"_blank\" href=\"https:\/\/core.trac.wordpress.org\/ticket\/22316\" rel=\"nofollow ugc noopener\" class=\"broken_link\">#22316<\/a>. Feature plugin version of <a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/wordpress-develop\/pull\/3032\" rel=\"nofollow ugc noopener\">PR #3032<\/a><\/p>\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<p>There are several single file plugins that may be used for testing in <code>test-plugins\/<\/code>.<\/p>\n<h3>Pull Requests<\/h3>\n<p>PRs should be made against the <code>develop<\/code> branch.<\/p>\n<\/div>\n<div id=\"screenshots\" class=\"plugin-screenshots section\">\n<h2 id=\"screenshots-header\">Screenshots<\/h2>\n<ul class=\"plugin-screenshots\">\n<li>\n<figure><a target=\"_blank\" href=\"https:\/\/ps.w.org\/wp-plugin-dependencies\/assets\/screenshot-1.png?rev=2894631\" rel=\"nofollow noopener\"><img decoding=\"async\" class=\"screenshot\" src=\"https:\/\/ps.w.org\/wp-plugin-dependencies\/assets\/screenshot-1.png?rev=2894631\" alt=\"\"><\/a><figcaption>Plugin is a Dependency and Plugin needing Dependencies<\/figcaption><\/figure>\n<\/li>\n<li>\n<figure><a target=\"_blank\" href=\"https:\/\/ps.w.org\/wp-plugin-dependencies\/assets\/screenshot-2.png?rev=2894631\" rel=\"nofollow noopener\"><img decoding=\"async\" class=\"screenshot\" src=\"https:\/\/ps.w.org\/wp-plugin-dependencies\/assets\/screenshot-2.png?rev=2894631\" alt=\"\"><\/a><figcaption>Plugin with Dependencies<\/figcaption><\/figure>\n<\/li>\n<li>\n<figure><a target=\"_blank\" href=\"https:\/\/ps.w.org\/wp-plugin-dependencies\/assets\/screenshot-3.png?rev=2772293\" rel=\"nofollow noopener\"><img decoding=\"async\" class=\"screenshot\" src=\"https:\/\/ps.w.org\/wp-plugin-dependencies\/assets\/screenshot-3.png?rev=2772293\" alt=\"\"><\/a><figcaption>Plugin Dependencies tab<\/figcaption><\/figure>\n<\/li>\n<li>\n<figure><a target=\"_blank\" href=\"https:\/\/ps.w.org\/wp-plugin-dependencies\/assets\/screenshot-4.png?rev=2932920\" rel=\"nofollow noopener\"><img decoding=\"async\" class=\"screenshot\" src=\"https:\/\/ps.w.org\/wp-plugin-dependencies\/assets\/screenshot-4.png?rev=2932920\" alt=\"\"><\/a><figcaption>Search page with dependencies<\/figcaption><\/figure>\n<\/li>\n<\/ul>\n<\/div>\n<div id=\"tab-reviews\" class=\"plugin-reviews section\">\n<h2 id=\"reviews-header\">Reviews<\/h2>\n<div class=\"plugin-reviews\">\n<article class=\"plugin-review\">\n<div class=\"review-avatar\">\n\t\t\t\t\t\t<img decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/5c79fe48c84600ad65458879f3d51333da9603aa1d48e4ec0841c4f4106a161a?s=60&amp;d=retro&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/5c79fe48c84600ad65458879f3d51333da9603aa1d48e4ec0841c4f4106a161a?s=120&amp;d=retro&amp;r=g 2x\" class=\"avatar avatar-60 photo\" height=\"60\" width=\"60\">\t\t\t\t\t<\/div>\n<div class=\"review\">\n<header>\n<div class=\"header-top\">\n<div class=\"wporg-ratings\" aria-label=\"5 out of 5 stars\" data-title-template=\"%s out of 5 stars\" data-rating=\"5\" style=\"color:#ffb900;\"><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><\/div>\n<h3 class=\"review-title\"><a target=\"_blank\" class=\"url\" href=\"https:\/\/wordpress.org\/support\/topic\/very-good-6906\/\" rel=\"noopener\">very good<\/a><\/h3>\n<\/p><\/div>\n<div class=\"header-bottom\">\n\t\t\t\t\t\t\t\t<span class=\"review-author author vcard\"><a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/spy001s\/\" title=\"Posts by spy001s\" rel=\"author noopener\">spy001s<\/a><\/span><br \/>\n\t\t\t\t\t\t\t\t<span class=\"review-date\">May 6, 2023<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/header>\n<div class=\"review-content\">thats very good plugins and i can work it easly<\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"plugin-review\">\n<div class=\"review-avatar\">\n\t\t\t\t\t\t<img decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/baa8d5e8f35d37d8cbce60c8604aede77a961b13311acfbad9a227ccf00e99dc?s=60&amp;d=retro&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/baa8d5e8f35d37d8cbce60c8604aede77a961b13311acfbad9a227ccf00e99dc?s=120&amp;d=retro&amp;r=g 2x\" class=\"avatar avatar-60 photo\" height=\"60\" width=\"60\">\t\t\t\t\t<\/div>\n<div class=\"review\">\n<header>\n<div class=\"header-top\">\n<div class=\"wporg-ratings\" aria-label=\"5 out of 5 stars\" data-title-template=\"%s out of 5 stars\" data-rating=\"5\" style=\"color:#ffb900;\"><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><\/div>\n<h3 class=\"review-title\"><a target=\"_blank\" class=\"url\" href=\"https:\/\/wordpress.org\/support\/topic\/great-idea-180\/\" rel=\"noopener\">Great idea<\/a><\/h3>\n<\/p><\/div>\n<div class=\"header-bottom\">\n\t\t\t\t\t\t\t\t<span class=\"review-author author vcard\"><a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/blockify\/\" title=\"Posts by Blockify\" rel=\"author noopener\">Blockify<\/a><\/span><br \/>\n\t\t\t\t\t\t\t\t<span class=\"review-date\">July 19, 2022<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/header>\n<div class=\"review-content\">Would be cool to see this in themes as well<\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"plugin-review\">\n<div class=\"review-avatar\">\n\t\t\t\t\t\t<img decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/01738f33f43c6b556700bab1f78dd9f9f545ab5263d937ff45d6fdb725d1efd7?s=60&amp;d=retro&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/01738f33f43c6b556700bab1f78dd9f9f545ab5263d937ff45d6fdb725d1efd7?s=120&amp;d=retro&amp;r=g 2x\" class=\"avatar avatar-60 photo\" height=\"60\" width=\"60\">\t\t\t\t\t<\/div>\n<div class=\"review\">\n<header>\n<div class=\"header-top\">\n<div class=\"wporg-ratings\" aria-label=\"5 out of 5 stars\" data-title-template=\"%s out of 5 stars\" data-rating=\"5\" style=\"color:#ffb900;\"><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><\/div>\n<h3 class=\"review-title\"><a target=\"_blank\" class=\"url\" href=\"https:\/\/wordpress.org\/support\/topic\/good-and-bad-8\/\" rel=\"noopener\">GOOD and BAD<\/a><\/h3>\n<\/p><\/div>\n<div class=\"header-bottom\">\n\t\t\t\t\t\t\t\t<span class=\"review-author author vcard\"><a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/masoudnkh\/\" title=\"Posts by \u0648\u0631\u062f\u067e\u0631\u0633 \u0627\u06cc\u0631\u0627\u0646\u06cc\" rel=\"author noopener\">\u0648\u0631\u062f\u067e\u0631\u0633 \u0627\u06cc\u0631\u0627\u0646\u06cc<\/a><\/span><br \/>\n\t\t\t\t\t\t\t\t<span class=\"review-date\">June 14, 2022<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/header>\n<div class=\"review-content\">There is a good plugin, but the plugin page is very crowded and getting to the bottom of the page happens later, which is not good for everyone.<br \/>\nAn option must be added so that the user or developer can easily enable or disable the display of this plugin information from the page settings at the top of the plugins page.<\/div>\n<\/p><\/div>\n<\/article><\/div>\n<p>\t\t<a target=\"_blank\" class=\"reviews-link\" href=\"https:\/\/wordpress.org\/support\/plugin\/wp-plugin-dependencies\/reviews\/\" rel=\"noopener\"><br \/>\n\t\t\tRead all 4 reviews\t\t<\/a><\/div>\n<div id=\"tab-developers\" class=\"plugin-developers section\">\n<h2 id=\"developers-header\">Contributors &amp; Developers<\/h2>\n<div class=\"plugin-contributors\">\n<p>\u201cPlugin Dependencies\u201d is open source software. The following people have contributed to this plugin.<\/p>\n<p><span class=\"screen-reader-text\">Contributors<\/span><\/p>\n<ul id=\"contributors-list\" class=\"contributors-list\">\n<li>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/82779a185fccde41e1dd3b914bde84cd6be76c8dcb8f6b983f461c8f5687a87e?s=32&amp;d=mm&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/82779a185fccde41e1dd3b914bde84cd6be76c8dcb8f6b983f461c8f5687a87e?s=64&amp;d=mm&amp;r=g 2x\" class=\"avatar avatar-32 photo\" height=\"32\" width=\"32\">\t\t\t\t<a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/afragen\/\" rel=\"noopener\"><br \/>\n\t\t\t\t\tAndy Fragen\t\t\t\t<\/a>\n\t\t\t<\/li>\n<li>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/737c2df3eecd59128718fa1f089e99f9463e664b51920f15bf781b2578015a2f?s=32&amp;d=mm&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/737c2df3eecd59128718fa1f089e99f9463e664b51920f15bf781b2578015a2f?s=64&amp;d=mm&amp;r=g 2x\" class=\"avatar avatar-32 photo\" height=\"32\" width=\"32\">\t\t\t\t<a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/costdev\/\" rel=\"noopener\"><br \/>\n\t\t\t\t\tColin Stewart\t\t\t\t<\/a>\n\t\t\t<\/li>\n<li>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/7a36060ae08c0b5588810cd5e6ea430fe9b10ce7ca8debbe928a1e254e78b4d4?s=32&amp;d=mm&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/7a36060ae08c0b5588810cd5e6ea430fe9b10ce7ca8debbe928a1e254e78b4d4?s=64&amp;d=mm&amp;r=g 2x\" class=\"avatar avatar-32 photo\" height=\"32\" width=\"32\">\t\t\t\t<a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/pbiron\/\" rel=\"noopener\"><br \/>\n\t\t\t\t\tPaul Biron\t\t\t\t<\/a>\n\t\t\t<\/li>\n<\/ul><\/div>\n<div class=\"plugin-development\">\n<p>\u201cPlugin Dependencies\u201d has been translated into 7 locales. Thank you to <a target=\"_blank\" href=\"https:\/\/translate.wordpress.org\/projects\/wp-plugins\/wp-plugin-dependencies\/contributors\" rel=\"noopener\">the translators<\/a> for their contributions.<\/p>\n<p><a target=\"_blank\" href=\"https:\/\/translate.wordpress.org\/projects\/wp-plugins\/wp-plugin-dependencies\" rel=\"noopener\">Translate \u201cPlugin Dependencies\u201d into your language.<\/a><\/p>\n<h3>Interested in development?<\/h3>\n<p><a target=\"_blank\" href=\"https:\/\/plugins.trac.wordpress.org\/browser\/wp-plugin-dependencies\/\" rel=\"noopener\" class=\"broken_link\">Browse the code<\/a>, check out the <a target=\"_blank\" href=\"https:\/\/plugins.svn.wordpress.org\/wp-plugin-dependencies\/\" rel=\"noopener\">SVN repository<\/a>, or subscribe to the <a target=\"_blank\" href=\"https:\/\/plugins.trac.wordpress.org\/log\/wp-plugin-dependencies\/\" rel=\"noopener\" class=\"broken_link\">development log<\/a> by <a target=\"_blank\" href=\"https:\/\/plugins.trac.wordpress.org\/log\/wp-plugin-dependencies\/?limit=100&amp;mode=stop_on_copy&amp;format=rss\" rel=\"noopener\" class=\"broken_link\">RSS<\/a>.<\/p>\n<\/div>\n<\/div>\n<div id=\"tab-changelog\" class=\"plugin-changelog section\">\n<h2 id=\"changelog-header\">Changelog<\/h2>\n<h4>3.0.1 \/ 2023-11-21<\/h4>\n<ul>\n<li>fix for multisite, too many <code>%s<\/code><\/li>\n<\/ul>\n<h4>3.0.0 \/ 2023-10-06<\/h4>\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<h4>2.0.2 \/ 2023-08-18<\/h4>\n<ul>\n<li>add single file plugin to <code>$plugin_dirnames<\/code><\/li>\n<\/ul>\n<h4>2.0.1 \/ 2023-08-16<\/h4>\n<ul>\n<li>cleanup<\/li>\n<\/ul>\n<h4>2.0.0 \/ 2023-08-08<\/h4>\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\u2019t change text<\/li>\n<\/ul>\n<h4>1.14.3 \/ 2023-70-30<\/h4>\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<h4>1.14.2 \/ 2023-07-20<\/h4>\n<ul>\n<li>update guard in <code>get_dependency_filepaths()<\/code><\/li>\n<\/ul>\n<h4>1.14.1 \/ 2023-07-20<\/h4>\n<ul>\n<li>update modal button on plugin-install.php<\/li>\n<\/ul>\n<h4>1.14.0 \/ 2023-07-19<\/h4>\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<h4>1.13.0 \/ 2023-07-10<\/h4>\n<ul>\n<li>update version check<\/li>\n<li>simplify plugin card notice<\/li>\n<\/ul>\n<h4>1.12.1 \/ 2023-07-01<\/h4>\n<ul>\n<li>extra life to 6.4-beta1<\/li>\n<\/ul>\n<h4>1.12.0 \/ 2023-05-21<\/h4>\n<ul>\n<li>change plugin card button to \u2018Cannot Install\u2019 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<h4>1.11.0 \/ 2023-05-21<\/h4>\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<h4>1.10.0 \/ 2023-04-29<\/h4>\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\u2019s 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<h4>1.9.0 \/ 2023-04-10<\/h4>\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<h4>1.8.0 \/ 2023-04-07<\/h4>\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<h4>1.7.9 \/ 2023-04-05<\/h4>\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<h4>1.7.8 \/ 2023-03-03<\/h4>\n<ul>\n<li>composer update<\/li>\n<\/ul>\n<h4>1.7.7 \/ 2023-02-11<\/h4>\n<ul>\n<li>add a11y that I (@afragen) clearly forgot, it\u2019s a start<\/li>\n<li>fix circular dependency test plugins to have containing folder, dependencies must have a containing folder<\/li>\n<\/ul>\n<h4>1.7.6 \/ 2023-02-11<\/h4>\n<ul>\n<li>update <code>Name<\/code> header of test plugins so they can\u2019t be mistaken for core plugin after AJAX Install<\/li>\n<\/ul>\n<h4>1.7.5 \/ 2023-02-09<\/h4>\n<ul>\n<li>cleanup docblocks<\/li>\n<li>initialize during class loading<\/li>\n<\/ul>\n<h4>1.7.4 \/ 2023-02-08<\/h4>\n<ul>\n<li>composer update<\/li>\n<\/ul>\n<h4>1.7.3 \/ 2023-01-30<\/h4>\n<ul>\n<li>composer update using Composer 2.5.0 to avoid bug<\/li>\n<\/ul>\n<h4>1.7.2 \/ 2023-01-02<\/h4>\n<ul>\n<li>add unresolvable circular dependency example<\/li>\n<li>update for PHP standards<\/li>\n<\/ul>\n<h4>1.7.1 \/ 2022-10-27<\/h4>\n<ul>\n<li>remove \u201cimproved visibility\u201d of <code>Dependencies<\/code> link<\/li>\n<\/ul>\n<h4>1.7.0 \/ 2022-10-25<\/h4>\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<h4>1.6.2 \/ 2022-10-18<\/h4>\n<ul>\n<li>composer update better checking in <code>afragen\/add-plugin-dependency-api<\/code><\/li>\n<\/ul>\n<h4>1.6.1 \/ 2022-10-18<\/h4>\n<ul>\n<li>more precise check of dependency slug for file path<\/li>\n<li>don\u2019t 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<h4>1.6.0 \/ 2022-10-15<\/h4>\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<h4>1.5.1 \/ 2022-09-02<\/h4>\n<ul>\n<li>fix for actual <code>gravityforms<\/code> slug<\/li>\n<\/ul>\n<h4>1.5.0 \/ 2022-09-02<\/h4>\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<h4>1.4.1 \/ 2022-08-18<\/h4>\n<ul>\n<li>oops, fixed typo in one of the testing plugins<\/li>\n<\/ul>\n<h4>1.4.0 \/ 2022-07-28<\/h4>\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<h4>1.3.0 \/ 2022-07-04 \ud83c\udf86<\/h4>\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<h4>1.2.1 \/ 2022-06-23<\/h4>\n<ul>\n<li>added several single file testing plugins to <code>test-plugins\/<\/code><\/li>\n<\/ul>\n<h4>1.2.0 \/ 2022-06-10<\/h4>\n<ul>\n<li>don\u2019t 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<h4>1.1.1 \/ 2022-06-06<\/h4>\n<ul>\n<li>limit scope of class methods where we can<\/li>\n<li>update screenshots<\/li>\n<\/ul>\n<h4>1.1.0 \/ 2022-06-02<\/h4>\n<ul>\n<li>change \u2018Activate\u2019 plugin action link to \u2018Cannot Activate\u2019 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<h4>1.0.0 \/ 2022-05-31 \ud83c\udf82<\/h4>\n<ul>\n<li>fix typo<\/li>\n<li>initial dot org release<\/li>\n<\/ul>\n<h4>0.16.2 \/ 2022-05-27<\/h4>\n<ul>\n<li>update requirements to WP 6.0<\/li>\n<\/ul>\n<h4>0.16.1 \/ 2022-05-24<\/h4>\n<ul>\n<li>add auto-deactivate for when committed to trunk, will need updating later<\/li>\n<\/ul>\n<h4>0.16.0 \/ 2022-05-08<\/h4>\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<h4>0.15.1 \/ 2022-04-29<\/h4>\n<ul>\n<li>minor cleanup<\/li>\n<\/ul>\n<h4>0.15.0 \/ 2022-04-28<\/h4>\n<ul>\n<li>refactor with <code>get_requires_plugins_names()<\/code><\/li>\n<li>update admin notice for multisite<\/li>\n<\/ul>\n<h4>0.14.0<\/h4>\n<ul>\n<li>updated required plugin data expiration<\/li>\n<\/ul>\n<h4>0.13.1 \/ 2022-04-25<\/h4>\n<ul>\n<li>fix <code>parse_headers()<\/code><\/li>\n<\/ul>\n<h4>0.13.0 \/ 2022-04-23<\/h4>\n<ul>\n<li>prep for initial release<\/li>\n<\/ul>\n<h4>0.12.9 \/ 2022-04-19<\/h4>\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<h4>0.12.3<\/h4>\n<p>*rename and reschuffle some functions<\/p>\n<h4>0.12.2 \/ 2022-04-06<\/h4>\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<h4>0.12.0 \/ 2022-04-03<\/h4>\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<h4>0.11.6.4<\/h4>\n<ul>\n<li>plugin to date with new changelog<\/li>\n<\/ul>\n<\/div><\/div>\n<p><!-- .entry-content --><\/p>\n<div class=\"entry-meta\">\n<div class=\"widget plugin-categorization\">\n<div class=\"widget categorization-widget categorization-widget-community\">\n<div class=\"widget-head\">\n<h2>Community plugin<\/h2>\n<\/p><\/div>\n<p>This plugin is developed and supported by a community.\t\t\t\t\t\t<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"widget plugin-meta\">\n<h2 class=\"screen-reader-text\">Meta<\/h2>\n<ul>\n<li>\n\t\t\t\tVersion <strong>3.0.4<\/strong>\t\t\t<\/li>\n<li>\n\t\t\t\tLast updated <strong><span>1 year<\/span> ago<\/strong>\t\t\t<\/li>\n<li>\n\t\t\t\tActive installations <strong>10+<\/strong>\t\t\t<\/li>\n<li>\n\t\t\t\t\tWordPress version\t\t\t\t\t<strong><br \/>\n\t\t\t\t\t\t6.4 or higher\t\t\t\t\t<\/strong>\n\t\t\t\t<\/li>\n<li>\n\t\t\t\t\tTested up to <strong>6.4.5<\/strong>\t\t\t\t<\/li>\n<li>\n\t\t\t\t\tPHP version\t\t\t\t\t<strong><br \/>\n\t\t\t\t\t\t7.0 or higher\t\t\t\t\t<\/strong>\n\t\t\t\t<\/li>\n<li>\n\t\t\t\t\tLanguages<\/p>\n<div class=\"languages\">\t\t\t\t\t\t<button type=\"button\" class=\"button-link popover-trigger\" aria-expanded=\"false\" data-target=\"popover-languages\"><br \/>\n\t\t\t\t\t\t\tSee all 8\t\t\t\t\t\t<\/button><\/p>\n<div id=\"popover-languages\" class=\"popover is-top-right\">\n<div class=\"popover-arrow\"><\/div>\n<p>\t\t\t\t\t\t\t<button type=\"button\" class=\"button-link popover-close\" aria-label=\"Close this popover\"><br \/>\n\t\t\t\t\t\t\t\tClose\t\t\t\t\t\t\t<\/button><\/p>\n<div class=\"popover-inner\">\n<p><a target=\"_blank\" href=\"https:\/\/tw.wordpress.org\/plugins\/wp-plugin-dependencies\/\" rel=\"noopener\">Chinese (Taiwan)<\/a>, <a target=\"_blank\" href=\"https:\/\/nl.wordpress.org\/plugins\/wp-plugin-dependencies\/\" rel=\"noopener\">Dutch<\/a>, <a target=\"_blank\" href=\"https:\/\/nl-be.wordpress.org\/plugins\/wp-plugin-dependencies\/\" rel=\"noopener\">Dutch (Belgium)<\/a>, <a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/wp-plugin-dependencies\/\" rel=\"noopener\">English (US)<\/a>, <a target=\"_blank\" href=\"https:\/\/nb.wordpress.org\/plugins\/wp-plugin-dependencies\/\" rel=\"noopener\">Norwegian (Bokm\u00e5l)<\/a>, <a target=\"_blank\" href=\"https:\/\/ru.wordpress.org\/plugins\/wp-plugin-dependencies\/\" rel=\"noopener\">Russian<\/a>, <a target=\"_blank\" href=\"https:\/\/es.wordpress.org\/plugins\/wp-plugin-dependencies\/\" rel=\"noopener\">Spanish (Spain)<\/a>, and <a target=\"_blank\" href=\"https:\/\/sv.wordpress.org\/plugins\/wp-plugin-dependencies\/\" rel=\"noopener\">Swedish<\/a>.<\/p>\n<p>\n\t\t\t\t\t\t\t\t<a target=\"_blank\" href=\"https:\/\/translate.wordpress.org\/projects\/wp-plugins\/wp-plugin-dependencies\" rel=\"noopener\">Translate into your language<\/a>\t\t\t\t\t\t\t\t<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/li>\n<li class=\"hide-if-no-js\">\n\t\t\t\t\t<a target=\"_blank\" class=\"plugin-admin\" href=\"https:\/\/wordpress.org\/plugins\/wp-plugin-dependencies\/advanced\/\" rel=\"noopener\">Advanced View<\/a>\t\t\t\t<\/li>\n<\/ul><\/div>\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<h2 class=\"wp-block-heading widget-title\">Ratings<\/h2>\n<div class=\"wp-block-wporg-ratings-stars\">\n<div class=\"wporg-ratings-stars__icons\">\n\t\t<svg class=\"is-star-filled\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M11.776 4.454a.25.25 0 01.448 0l2.069 4.192a.25.25 0 00.188.137l4.626.672a.25.25 0 01.139.426l-3.348 3.263a.25.25 0 00-.072.222l.79 4.607a.25.25 0 01-.362.263l-4.138-2.175a.25.25 0 00-.232 0l-4.138 2.175a.25.25 0 01-.363-.263l.79-4.607a.25.25 0 00-.071-.222L4.754 9.881a.25.25 0 01.139-.426l4.626-.672a.25.25 0 00.188-.137l2.069-4.192z\"><\/path><\/svg><svg class=\"is-star-filled\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M11.776 4.454a.25.25 0 01.448 0l2.069 4.192a.25.25 0 00.188.137l4.626.672a.25.25 0 01.139.426l-3.348 3.263a.25.25 0 00-.072.222l.79 4.607a.25.25 0 01-.362.263l-4.138-2.175a.25.25 0 00-.232 0l-4.138 2.175a.25.25 0 01-.363-.263l.79-4.607a.25.25 0 00-.071-.222L4.754 9.881a.25.25 0 01.139-.426l4.626-.672a.25.25 0 00.188-.137l2.069-4.192z\"><\/path><\/svg><svg class=\"is-star-filled\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M11.776 4.454a.25.25 0 01.448 0l2.069 4.192a.25.25 0 00.188.137l4.626.672a.25.25 0 01.139.426l-3.348 3.263a.25.25 0 00-.072.222l.79 4.607a.25.25 0 01-.362.263l-4.138-2.175a.25.25 0 00-.232 0l-4.138 2.175a.25.25 0 01-.363-.263l.79-4.607a.25.25 0 00-.071-.222L4.754 9.881a.25.25 0 01.139-.426l4.626-.672a.25.25 0 00.188-.137l2.069-4.192z\"><\/path><\/svg><svg class=\"is-star-filled\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M11.776 4.454a.25.25 0 01.448 0l2.069 4.192a.25.25 0 00.188.137l4.626.672a.25.25 0 01.139.426l-3.348 3.263a.25.25 0 00-.072.222l.79 4.607a.25.25 0 01-.362.263l-4.138-2.175a.25.25 0 00-.232 0l-4.138 2.175a.25.25 0 01-.363-.263l.79-4.607a.25.25 0 00-.071-.222L4.754 9.881a.25.25 0 01.139-.426l4.626-.672a.25.25 0 00.188-.137l2.069-4.192z\"><\/path><\/svg><svg class=\"is-star-filled\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M11.776 4.454a.25.25 0 01.448 0l2.069 4.192a.25.25 0 00.188.137l4.626.672a.25.25 0 01.139.426l-3.348 3.263a.25.25 0 00-.072.222l.79 4.607a.25.25 0 01-.362.263l-4.138-2.175a.25.25 0 00-.232 0l-4.138 2.175a.25.25 0 01-.363-.263l.79-4.607a.25.25 0 00-.071-.222L4.754 9.881a.25.25 0 01.139-.426l4.626-.672a.25.25 0 00.188-.137l2.069-4.192z\"><\/path><\/svg>\t<\/div>\n<div class=\"wporg-ratings-stars__label\">\n\t\t<span>5<\/span> out of 5 stars.\t<\/div>\n<\/p><\/div>\n<ul class=\"wp-block-wporg-ratings-bars\">\n<li class=\"wporg-ratings-bars__bar\">\n\t\t<a target=\"_blank\" href=\"https:\/\/wordpress.org\/support\/plugin\/wp-plugin-dependencies\/reviews\/?filter=5\" rel=\"noopener\"><br \/>\n\t\t\t<span class=\"screen-reader-text\"><br \/>\n\t\t\t3 5-star reviews\t\t\t<\/span><br \/>\n\t\t\t<span aria-hidden=\"true\" class=\"wporg-ratings-bars__bar-label\"><br \/>\n\t\t\t5 stars\t\t\t<\/span><br \/>\n\t\t\t<span aria-hidden=\"true\" class=\"wporg-ratings-bars__bar-background\"><br \/>\n\t\t\t\t<span class=\"wporg-ratings-bars__bar-foreground\" style=\"width: 100%;\"><\/span><br \/>\n\t\t\t<\/span><br \/>\n\t\t\t<span aria-hidden=\"true\" class=\"wporg-ratings-bars__bar-count\">3<\/span><br \/>\n\t\t<\/a>\n\t<\/li>\n<li class=\"wporg-ratings-bars__bar\">\n\t\t<a target=\"_blank\" href=\"https:\/\/wordpress.org\/support\/plugin\/wp-plugin-dependencies\/reviews\/?filter=4\" rel=\"noopener\"><br \/>\n\t\t\t<span class=\"screen-reader-text\"><br \/>\n\t\t\t0 4-star reviews\t\t\t<\/span><br \/>\n\t\t\t<span aria-hidden=\"true\" class=\"wporg-ratings-bars__bar-label\"><br \/>\n\t\t\t4 stars\t\t\t<\/span><br \/>\n\t\t\t<span aria-hidden=\"true\" class=\"wporg-ratings-bars__bar-background\"><br \/>\n\t\t\t\t<span class=\"wporg-ratings-bars__bar-foreground\" style=\"width: 0%;\"><\/span><br \/>\n\t\t\t<\/span><br \/>\n\t\t\t<span aria-hidden=\"true\" class=\"wporg-ratings-bars__bar-count\">0<\/span><br \/>\n\t\t<\/a>\n\t<\/li>\n<li class=\"wporg-ratings-bars__bar\">\n\t\t<a target=\"_blank\" href=\"https:\/\/wordpress.org\/support\/plugin\/wp-plugin-dependencies\/reviews\/?filter=3\" rel=\"noopener\"><br \/>\n\t\t\t<span class=\"screen-reader-text\"><br \/>\n\t\t\t0 3-star reviews\t\t\t<\/span><br \/>\n\t\t\t<span aria-hidden=\"true\" class=\"wporg-ratings-bars__bar-label\"><br \/>\n\t\t\t3 stars\t\t\t<\/span><br \/>\n\t\t\t<span aria-hidden=\"true\" class=\"wporg-ratings-bars__bar-background\"><br \/>\n\t\t\t\t<span class=\"wporg-ratings-bars__bar-foreground\" style=\"width: 0%;\"><\/span><br \/>\n\t\t\t<\/span><br \/>\n\t\t\t<span aria-hidden=\"true\" class=\"wporg-ratings-bars__bar-count\">0<\/span><br \/>\n\t\t<\/a>\n\t<\/li>\n<li class=\"wporg-ratings-bars__bar\">\n\t\t<a target=\"_blank\" href=\"https:\/\/wordpress.org\/support\/plugin\/wp-plugin-dependencies\/reviews\/?filter=2\" rel=\"noopener\"><br \/>\n\t\t\t<span class=\"screen-reader-text\"><br \/>\n\t\t\t0 2-star reviews\t\t\t<\/span><br \/>\n\t\t\t<span aria-hidden=\"true\" class=\"wporg-ratings-bars__bar-label\"><br \/>\n\t\t\t2 stars\t\t\t<\/span><br \/>\n\t\t\t<span aria-hidden=\"true\" class=\"wporg-ratings-bars__bar-background\"><br \/>\n\t\t\t\t<span class=\"wporg-ratings-bars__bar-foreground\" style=\"width: 0%;\"><\/span><br \/>\n\t\t\t<\/span><br \/>\n\t\t\t<span aria-hidden=\"true\" class=\"wporg-ratings-bars__bar-count\">0<\/span><br \/>\n\t\t<\/a>\n\t<\/li>\n<li class=\"wporg-ratings-bars__bar\">\n\t\t<a target=\"_blank\" href=\"https:\/\/wordpress.org\/support\/plugin\/wp-plugin-dependencies\/reviews\/?filter=1\" rel=\"noopener\"><br \/>\n\t\t\t<span class=\"screen-reader-text\"><br \/>\n\t\t\t0 1-star reviews\t\t\t<\/span><br \/>\n\t\t\t<span aria-hidden=\"true\" class=\"wporg-ratings-bars__bar-label\"><br \/>\n\t\t\t1 star\t\t\t<\/span><br \/>\n\t\t\t<span aria-hidden=\"true\" class=\"wporg-ratings-bars__bar-background\"><br \/>\n\t\t\t\t<span class=\"wporg-ratings-bars__bar-foreground\" style=\"width: 0%;\"><\/span><br \/>\n\t\t\t<\/span><br \/>\n\t\t\t<span aria-hidden=\"true\" class=\"wporg-ratings-bars__bar-count\">0<\/span><br \/>\n\t\t<\/a>\n\t<\/li>\n<\/ul>\n<div class=\"wp-block-group is-content-justification-space-between is-nowrap is-layout-flex wp-container-core-group-is-layout-4 wp-block-group-is-layout-flex\" style=\"margin-top:var(--wp--preset--spacing--10)\">\n<p><a target=\"_blank\" href=\"https:\/\/wordpress.org\/support\/plugin\/wp-plugin-dependencies\/reviews\/#new-post\" rel=\"noopener\">Add my review<\/a><\/p>\n<p class=\"wporg-ratings-link\"><a target=\"_blank\" href=\"https:\/\/wordpress.org\/support\/plugin\/wp-plugin-dependencies\/reviews\/\" rel=\"noopener\">See all<span class=\"screen-reader-text\"> reviews<\/span><\/a><\/p>\n<\/p><\/div>\n<\/div>\n<div id=\"plugin-contributors\" class=\"widget plugin-contributors\">\n<h2 class=\"widget-title\">Contributors<\/h2>\n<ul id=\"contributors-list\" class=\"contributors-list\">\n<li>\n\t\t\t\t<img loading=\"lazy\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/82779a185fccde41e1dd3b914bde84cd6be76c8dcb8f6b983f461c8f5687a87e?s=32&amp;d=mm&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/82779a185fccde41e1dd3b914bde84cd6be76c8dcb8f6b983f461c8f5687a87e?s=64&amp;d=mm&amp;r=g 2x\" class=\"avatar avatar-32 photo\" height=\"32\" width=\"32\" decoding=\"async\">\t\t\t\t<a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/afragen\/\" rel=\"noopener\"><br \/>\n\t\t\t\t\tAndy Fragen\t\t\t\t<\/a>\n\t\t\t<\/li>\n<li>\n\t\t\t\t<img loading=\"lazy\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/737c2df3eecd59128718fa1f089e99f9463e664b51920f15bf781b2578015a2f?s=32&amp;d=mm&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/737c2df3eecd59128718fa1f089e99f9463e664b51920f15bf781b2578015a2f?s=64&amp;d=mm&amp;r=g 2x\" class=\"avatar avatar-32 photo\" height=\"32\" width=\"32\" decoding=\"async\">\t\t\t\t<a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/costdev\/\" rel=\"noopener\"><br \/>\n\t\t\t\t\tColin Stewart\t\t\t\t<\/a>\n\t\t\t<\/li>\n<li>\n\t\t\t\t<img loading=\"lazy\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/7a36060ae08c0b5588810cd5e6ea430fe9b10ce7ca8debbe928a1e254e78b4d4?s=32&amp;d=mm&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/7a36060ae08c0b5588810cd5e6ea430fe9b10ce7ca8debbe928a1e254e78b4d4?s=64&amp;d=mm&amp;r=g 2x\" class=\"avatar avatar-32 photo\" height=\"32\" width=\"32\" decoding=\"async\">\t\t\t\t<a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/pbiron\/\" rel=\"noopener\"><br \/>\n\t\t\t\t\tPaul Biron\t\t\t\t<\/a>\n\t\t\t<\/li>\n<\/ul><\/div>\n<div class=\"widget plugin-support\">\n<h2 class=\"widget-title\">Support<\/h2>\n<p>Got something to say? Need help?<\/p>\n<p>\n\t\t\t<a target=\"_blank\" href=\"https:\/\/wordpress.org\/support\/plugin\/wp-plugin-dependencies\/\" rel=\"noopener\">View support forum<\/a>\n\t\t<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<p><!-- .entry-meta --><br \/>\n<\/article>\n<p><br \/>\n<br \/><a href=\"https:\/\/wordpress.org\/plugins\/wp-plugin-dependencies\/\" target=\"_blank\" rel=\"noopener\">Source link <\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>This plugin hasn\u0092t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress. Plugin Dependencies By Andy Fragen Download Details Reviews Development Support Description Parses a \u2018Requires Plugins\u2019 header. If a requiring plugin does [&hellip;]<\/p>","protected":false},"author":212,"featured_media":5283,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"give_campaign_id":0,"footnotes":""},"categories":[1933,39,40],"tags":[3308,1991],"class_list":["post-5282","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-community-plugin","category-lite-version","category-wp-plugin-solution","tag-dependencies","tag-plugin"],"acf":[],"fifu_image_url":"https:\/\/s.w.org\/plugins\/geopattern-icon\/wp-plugin-dependencies.svg","_links":{"self":[{"href":"https:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/posts\/5282","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/users\/212"}],"replies":[{"embeddable":true,"href":"https:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/comments?post=5282"}],"version-history":[{"count":0,"href":"https:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/posts\/5282\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/media\/5283"}],"wp:attachment":[{"href":"https:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/media?parent=5282"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/categories?post=5282"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/tags?post=5282"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}