Compare commits

..

4 Commits

5 changed files with 155 additions and 44 deletions

View File

@ -2,6 +2,22 @@
All notable changes to this project will be documented in this file.
## [2.0.7] - 2024-05-17
### Changed
- Additional text improvements and minor fixes
## [2.0.6] - 2024-05-17
### Changed
- Text improvements and minor fixes
## [2.0.5] - 2024-05-17
### Fixed
- Display correct version in plugin details popup
## [2.0.4] - 2024-05-17
### Fixed
- Display actual plugin version instead of 'N/A' for missing plugins in plugin details view
## [2.0.2] - 2024-05-17
### Changed
- Consolidated WordPress.org assets into .wordpress-org directory

View File

@ -120,6 +120,22 @@ Manually editing the WordPress database is risky and requires technical knowledg
1. Plugin in action - showing error message, explanation notification, and "Remove Notice" link
## Support
If you need help with this plugin, there are several ways to get support:
* [WordPress.org Support Forums](https://wordpress.org/support/plugin/wp-fix-plugin-does-not-exist-notices/)
* [GitHub Issues](https://github.com/wpallstars/wp-fix-plugin-does-not-exist-notices/issues)
* [Gitea Issues](https://gitea.wpallstars.com/wpallstars/wp-fix-plugin-does-not-exist-notices/issues)
## Reviews
This utility plugin is released under the GPLv2 license as free open source software.
If you find this plugin helpful, please consider [leaving a review](https://wordpress.org/support/plugin/wp-fix-plugin-does-not-exist-notices/reviews/) on WordPress.org.
Your experience and feedback helps others discover the plugin, and encourages continued community-driven, open-source development and support.
## Developers
### Contributing
@ -159,6 +175,9 @@ The plugin works by:
## Changelog
### 2.0.4
* Fixed: Display actual plugin version instead of 'N/A' for missing plugins in plugin details view
### 2.0.2
* Consolidated WordPress.org assets into .wordpress-org directory
* Improved organization of assets for WordPress.org submission
@ -371,13 +390,3 @@ The plugin works by:
## License
This project is licensed under the GPL-2.0+ License - see the [LICENSE](LICENSE) file for details.
## Support
If you need help with this plugin, there are several ways to get support:
* [WordPress.org Support Forums](https://wordpress.org/support/plugin/wp-fix-plugin-does-not-exist-notices/)
* [GitHub Issues](https://github.com/wpallstars/wp-fix-plugin-does-not-exist-notices/issues)
* [Gitea Issues](https://gitea.wpallstars.com/wpallstars/wp-fix-plugin-does-not-exist-notices/issues)
If you find this plugin helpful, please consider [leaving a review](https://wordpress.org/support/plugin/wp-fix-plugin-does-not-exist-notices/reviews/) on WordPress.org. Your feedback helps others discover the plugin and encourages continued development and support.

View File

@ -1,15 +1,15 @@
# Copyright (C) 2024 Marcus Quinn
# Copyright (C) 2025 Marcus Quinn & The WP ALLSTARS Team
# This file is distributed under the GPL-2.0+.
msgid ""
msgstr ""
"Project-Id-Version: Fix 'Plugin file does not exist.' Notices 2.0.3\n"
"Project-Id-Version: Fix 'Plugin file does not exist.' Notices 2.0.7\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-fix-plugin-does-not-exist-notices\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2024-05-16T12:00:00+00:00\n"
"POT-Creation-Date: 2024-05-17T12:00:00+00:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: WP-CLI 2.8.1\n"
"X-Domain: wp-fix-plugin-does-not-exist-notices\n"

View File

@ -1,11 +1,11 @@
=== Fix 'Plugin file does not exist.' Notices ===
Contributors: marcusquinn, wpallstars
Donate link: https://www.marcusquinn.com
Contributors: surferking, wpallstars
Donate link: https://www.wpallstars.com/
Tags: plugins, missing plugins, cleanup, error fix, admin tools, plugin file does not exist, wordpress error, plugin error, deactivated plugin, remove plugin reference, fix plugin error, plugin does not exist, plugin file does not exist error
Requires at least: 5.0
Tested up to: 6.7.2
Requires PHP: 7.0
Stable tag: 2.0.3
Stable tag: 2.0.7
License: GPL-2.0+
License URI: https://www.gnu.org/licenses/gpl-2.0.html
@ -48,6 +48,35 @@ When WordPress detects a plugin file that no longer exists but is still referenc
* You've migrated from another site and have leftover plugin references
* Your hosting provider removed a plugin but didn't clean the database
= Support & Feedback =
If you need help with this plugin, there are several ways to get support:
* [WordPress.org Support Forums](https://wordpress.org/support/plugin/wp-fix-plugin-does-not-exist-notices/)
* [GitHub Issues](https://github.com/wpallstars/wp-fix-plugin-does-not-exist-notices/issues)
* [Gitea Issues](https://gitea.wpallstars.com/wpallstars/wp-fix-plugin-does-not-exist-notices/issues)
= Reviews =
This utility plugin is released under the GPLv2 license as free open source software.
If you find this plugin helpful, please consider [leaving a review](https://wordpress.org/support/plugin/wp-fix-plugin-does-not-exist-notices/reviews/) on WordPress.org.
Your experience and feedback helps others discover the plugin, and encourages continued community-driven, open-source development and support.
= Contributing =
Contributions are welcome! Please feel free to submit a Pull Request.
1. Fork the repository on [GitHub](https://github.com/wpallstars/wp-fix-plugin-does-not-exist-notices/) or [Gitea](https://gitea.wpallstars.com/wpallstars/wp-fix-plugin-does-not-exist-notices/)
2. Create your feature branch: `git checkout -b feature/amazing-feature`
3. Commit your changes: `git commit -m 'Add some amazing feature'`
4. Push to the branch: `git push origin feature/amazing-feature`
5. Submit a pull request
The plugin is designed to be a best-practice example for WordPress plugin development and can be used as a boilerplate for your own plugins.
== Installation ==
1. Upload the `wp-fix-plugin-does-not-exist-notices` folder to the `/wp-content/plugins/` directory
@ -111,6 +140,18 @@ Manually editing the WordPress database is risky and requires technical knowledg
== Changelog ==
= 2.0.7 =
* Additional text improvements and minor fixes
= 2.0.6 =
* Text improvements and minor fixes
= 2.0.5 =
* Fixed: Display correct version in plugin details popup
= 2.0.4 =
* Fixed: Display actual plugin version instead of 'N/A' for missing plugins in plugin details view
= 2.0.2 =
* Consolidated WordPress.org assets into .wordpress-org directory
* Improved organization of assets for WordPress.org submission
@ -469,26 +510,4 @@ Major usability improvement with auto-scroll feature to help find missing plugin
Completely redesigned for better compatibility with all WordPress themes - now works with any WordPress installation!
= 1.2.2 =
Important stability fix - resolves timeout issues during plugin activation!
== Contributing ==
Contributions are welcome! Please feel free to submit a Pull Request.
1. Fork the repository on [GitHub](https://github.com/wpallstars/wp-fix-plugin-does-not-exist-notices/) or [Gitea](https://gitea.wpallstars.com/wpallstars/wp-fix-plugin-does-not-exist-notices/)
2. Create your feature branch: `git checkout -b feature/amazing-feature`
3. Commit your changes: `git commit -m 'Add some amazing feature'`
4. Push to the branch: `git push origin feature/amazing-feature`
5. Submit a pull request
The plugin is designed to be a best-practice example for WordPress plugin development and can be used as a boilerplate for your own plugins.
== Support ==
If you need help with this plugin, there are several ways to get support:
* [WordPress.org Support Forums](https://wordpress.org/support/plugin/wp-fix-plugin-does-not-exist-notices/)
* [GitHub Issues](https://github.com/wpallstars/wp-fix-plugin-does-not-exist-notices/issues)
* [Gitea Issues](https://gitea.wpallstars.com/wpallstars/wp-fix-plugin-does-not-exist-notices/issues)
If you find this plugin helpful, please consider [leaving a review](https://wordpress.org/support/plugin/wp-fix-plugin-does-not-exist-notices/reviews/) on WordPress.org. Your feedback helps others discover the plugin and encourages continued development and support.
Important stability fix - resolves timeout issues during plugin activation!

View File

@ -3,8 +3,9 @@
* Fix 'Plugin file does not exist.' Notices
*
* @package FixPluginDoesNotExistNotices
* @author Marcus Quinn
* @copyright 2023 WP ALLSTARS
* @author Marcus Quinn & The WP ALLSTARS Team
* @contributor WP ALLSTARS
* @copyright 2025 WP ALLSTARS
* @license GPL-2.0+
* @noinspection PhpUndefinedFunctionInspection
* @noinspection PhpUndefinedConstantInspection
@ -13,7 +14,7 @@
* Plugin Name: Fix 'Plugin file does not exist.' Notices
* Plugin URI: https://wordpress.org/plugins/wp-fix-plugin-does-not-exist-notices/
* Description: Adds missing plugins to the plugins list with a "Remove Reference" link so you can permanently clean up invalid plugin entries and remove error notices.
* Version: 2.0.3
* Version: 2.0.7
* Author: Marcus Quinn & WP ALLSTARS
* Author URI: https://www.wpallstars.com
* License: GPL-2.0+
@ -48,7 +49,7 @@ if ( ! defined( 'ABSPATH' ) ) {
}
// Define plugin constants
define( 'FPDEN_VERSION', '2.0.3' );
define( 'FPDEN_VERSION', '2.0.7' );
define( 'FPDEN_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
define( 'FPDEN_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
define( 'FPDEN_PLUGIN_FILE', __FILE__ );
@ -99,6 +100,9 @@ class Fix_Plugin_Does_Not_Exist_Notices {
// Enqueue admin scripts and styles.
add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_assets' ) );
// Filter the plugin API to fix version display in plugin details popup
add_filter( 'plugins_api', array( $this, 'filter_plugin_details' ), 10, 3 );
// We're no longer trying to prevent WordPress from auto-deactivating plugins
// as it was causing critical errors in some environments
}
@ -179,7 +183,7 @@ class Fix_Plugin_Does_Not_Exist_Notices {
__( 'This plugin is still marked as "Active" in your database — but its folder and files can\'t be found in %s. Click "Remove Notice" to permanently remove it from your active plugins list and eliminate the error notice.', 'wp-fix-plugin-does-not-exist-notices' ),
'<code>/wp-content/plugins/</code>'
),
'Version' => __( 'N/A', 'wp-fix-plugin-does-not-exist-notices' ),
'Version' => FPDEN_VERSION, // Use our plugin version instead of 'N/A'
'Author' => '',
'PluginURI' => '',
'AuthorURI' => '',
@ -396,6 +400,69 @@ class Fix_Plugin_Does_Not_Exist_Notices {
}
// We've removed the prevent_auto_deactivation method as it was causing critical errors
/**
* Filter the plugin API response to fix version display in plugin details popup.
*
* @param false|object|array $result The result object or array. Default false.
* @param string $action The type of information being requested from the Plugin Installation API.
* @param object $args Plugin API arguments.
* @return false|object|array The potentially modified result.
*/
public function filter_plugin_details( $result, $action, $args ) {
// Only modify plugin_information requests
if ( 'plugin_information' !== $action ) {
return $result;
}
// Check if we have a slug to work with
if ( empty( $args->slug ) ) {
return $result;
}
// Get our list of invalid plugins
$invalid_plugins = $this->get_invalid_plugins();
// Check if the requested plugin is one of our missing plugins
foreach ( $invalid_plugins as $plugin_file ) {
// Extract the plugin slug from the plugin file path
$plugin_slug = dirname( $plugin_file );
if ( '.' === $plugin_slug ) {
$plugin_slug = basename( $plugin_file, '.php' );
}
// If this is one of our missing plugins
if ( $args->slug === $plugin_slug ) {
// If we don't have a result yet, create one
if ( ! $result ) {
$result = new stdClass();
}
// Set the version to our plugin version
$result->version = FPDEN_VERSION;
// Add other details if they're not already set
if ( ! isset( $result->name ) ) {
$result->name = basename( $plugin_file );
}
if ( ! isset( $result->author ) ) {
$result->author = '';
}
if ( ! isset( $result->description ) ) {
$result->description = sprintf(
__( 'This plugin is still marked as "Active" in your database — but its folder and files can\'t be found in %s. Use the "Remove Notice" link on the plugins page to permanently remove it from your active plugins list and eliminate the error notice.', 'wp-fix-plugin-does-not-exist-notices' ),
'<code>/wp-content/plugins/</code>'
);
}
break;
}
}
return $result;
}
} // End class Fix_Plugin_Does_Not_Exist_Notices
// Initialize the plugin class.