Descriere
Parses a ‘Requires Plugins’ header and adds a Dependencies tab in the plugin install page. If a requiring plugin does not have all its dependencies installed and active, it will not activate.
Make post for Plugin Dependencies Feature Project
Please open issues at WordPress/wp-plugin-dependencies issues
My solution to #22316. Feature plugin version of PR #1724
- Parses the Requires Plugins 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.
- Adds a new view/tab to plugins install page ( Plugins > Add New ) titled Dependencies that contains plugin cards for all plugin dependencies.
- This view also lists which plugins require which plugin dependencies in the plugin card. 😅
- In the plugins page, a dependent plugin is unable to be deleted or deactivated if the requiring plugin is active.
- Plugin dependencies can be deactivated or deleted if the requiring plugin is not active.
- Messaging in the plugin row description is inserted; as is data noting which plugins require the dependency.
- Displays a single admin notice with link to Plugins > Add New > Dependencies if not all plugin dependencies have been installed.
- Ensures that plugins with unmet dependencies cannot be activated.
- If the dependency API data is not available a generic plugin card will be displayed in the Dependencies tab.
There are several single file plugins that may be used for testing in test-plugins/
.
Pull Requests
PRs should be made against the develop
branch.
Capturi ecran
Verificări
Contributori și dezvoltatori
„Plugin Dependencies” este un software open-source. La acest modul au contribuit următoarele persoane.
Contributori„Plugin Dependencies” a fost tradus în 6 locale. Mulțumim traducătorilor pentru contribuția lor.
Tradu „Plugin Dependencies” în limba ta.
Te interesează dezvoltarea?
Răsfoiește codul, vezi depozitarul SVN, sau abonează-te la jurnalul de dezvoltare prin RSS.
Istoric modificări
1.7.2 / 2023-01-02
- add unresolvable circular dependency example
- update for PHP standards
1.7.1 / 2022-10-27
- remove „improved visibility” of
Dependencies
link
1.7.0 / 2022-10-25
- notification of circular dependencies
- add info text under Dependencies tab, I found a hook 🙌
- display admin notices on specific pages
- added some code improvements, thanks Colin
- add
Requires:
data to plugin card - modify plugin card action links if dependency not met
- improve visibility of
Dependencies
link
1.6.2 / 2022-10-18
- composer update better checking in
afragen/add-plugin-dependency-api
1.6.1 / 2022-10-18
- more precise check of dependency slug for file path
- don’t show admin notice to users who are unable to act upon them
- update composer dependencies
- add skeleton JSON response for Gravity Forms
1.6.0 / 2022-10-15
- move
plugin_dependency_endpoints
hook outside of class - composer update
- add filter
wp_plugin_dependencies_slugs
to modify slugs in cases of non-premium plugin replaced with premium plugin - keep checking plugins API for plugin with generic response
- update conditional for generic response
- update testing plugins
1.5.1 / 2022-09-02
- fix for actual
gravityforms
slug
1.5.0 / 2022-09-02
- add
afragen/add-plugin-dependency-api
as composer requirement - update test plugins removing
hello-dolly
and addinggit-updater
as non dot org example - check empty plugin response for error
1.4.1 / 2022-08-18
- oops, fixed typo in one of the testing plugins
1.4.0 / 2022-07-28
- bring more inline with PR
- remove action on class requires, use hook
- fix multisite compatibility
1.3.0 / 2022-07-04 🎆
- fix
get_requires_plugin_names()
to account for empty header - update regex to allow for some non-ascii languages and symbols as slugs
1.2.1 / 2022-06-23
- added several single file testing plugins to
test-plugins/
1.2.0 / 2022-06-10
- don’t display admin notice link to Dependencies tab when on Dependencies tab
- be more specific about only removing dependency plugin row checkbox when a requiring plugin is active
1.1.1 / 2022-06-06
- limit scope of class methods where we can
- update screenshots
1.1.0 / 2022-06-02
- change ‘Activate’ plugin action link to ‘Cannot Activate’ text when plugin has unmet dependencies
- remove checkbox from plugin row when plugin has unmet dependencies
- use View details link for plugins listed in Requires: in plugin row
1.0.0 / 2022-05-31 🎂
- fix typo
- initial dot org release
0.16.2 / 2022-05-27
- update requirements to WP 6.0
0.16.1 / 2022-05-24
- add auto-deactivate for when committed to trunk, will need updating later
0.16.0 / 2022-05-08
- rename
parse_headers()
toparse_plugin_headers()
, future proofing - update unit tests
0.15.1 / 2022-04-29
- minor cleanup
0.15.0 / 2022-04-28
- refactor with
get_requires_plugins_names()
- update admin notice for multisite
0.14.0
- updated required plugin data expiration
0.13.1 / 2022-04-25
- fix
parse_headers()
0.13.0 / 2022-04-23
- prep for initial release
0.12.9 / 2022-04-19
- add plugin cards for slugs with no API data
- hide action links and bottom of card in plugin cards for slugs with no API data
0.12.3
*rename and reschuffle some functions
0.12.2 / 2022-04-06
- harden a bit
- clean up some testing stuff
plugin_install_description
filter committed to core
0.12.0 / 2022-04-03
- readme.txt
- fix PHP error if no plugins with
Requires Plugins
header found - only show single, relevant admin notice
0.11.6.4
- plugin to date with new changelog