Compare commits

...

5 Commits

Author SHA1 Message Date
b883a222c0 Version 1.4.2: Improved plugin descriptions for better clarity
Some checks failed
ci/woodpecker/push/woodpecker Pipeline is pending
Build Release / Build and Create Release (push) Has been cancelled
Build Release / Deploy to WordPress.org (push) Has been cancelled
ci/woodpecker/tag/woodpecker Pipeline failed
2025-04-11 00:19:13 +01:00
8562c311c5 Align README.md FAQ with readme.txt for consistency
Some checks are pending
ci/woodpecker/push/woodpecker Pipeline is pending
2025-04-10 01:36:03 +01:00
78a911640f Version 1.4.1: Add FAQ about keeping plugin installed
Some checks failed
ci/woodpecker/push/woodpecker Pipeline is pending
Build Release / Build and Create Release (push) Has been cancelled
Build Release / Deploy to WordPress.org (push) Has been cancelled
ci/woodpecker/tag/woodpecker Pipeline failed
2025-04-10 01:24:17 +01:00
c45621d896 Version 1.4.0: Rename plugin and update text domain
Some checks failed
ci/woodpecker/push/woodpecker Pipeline is pending
Build Release / Build and Create Release (push) Has been cancelled
Build Release / Deploy to WordPress.org (push) Has been cancelled
ci/woodpecker/tag/woodpecker Pipeline failed
2025-04-10 01:13:49 +01:00
7ae1da3775 Rename plugin to 'Fix Plugin file does not exist. Notices' for better SEO 2025-04-10 01:03:23 +01:00
7 changed files with 101 additions and 34 deletions

24
.github/workflows/assets.yml vendored Normal file
View File

@ -0,0 +1,24 @@
name: Plugin Asset Update
on:
push:
branches:
- main
paths:
- '.wordpress-org/**'
- 'assets/**'
jobs:
assets:
name: Push assets to WordPress.org
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: WordPress.org plugin asset/readme update
uses: 10up/action-wordpress-plugin-asset-update@stable
env:
SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }}
SVN_USERNAME: ${{ secrets.SVN_USERNAME }}
SLUG: fix-plugin-does-not-exist-notices

View File

@ -20,19 +20,19 @@ jobs:
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
- name: Create build directory
run: mkdir -p build/plugin-reference-cleaner
run: mkdir -p build/fix-plugin-does-not-exist-notices
- name: Copy plugin files
run: |
cp plugin-reference-cleaner.php build/plugin-reference-cleaner/
cp readme.txt build/plugin-reference-cleaner/
cp LICENSE build/plugin-reference-cleaner/
cp README.md build/plugin-reference-cleaner/
cp fix-plugin-does-not-exist-notices.php build/fix-plugin-does-not-exist-notices/
cp readme.txt build/fix-plugin-does-not-exist-notices/
cp LICENSE build/fix-plugin-does-not-exist-notices/
cp README.md build/fix-plugin-does-not-exist-notices/
- name: Create ZIP file
run: |
cd build
zip -r ../plugin-reference-cleaner-${{ steps.get_version.outputs.VERSION }}.zip plugin-reference-cleaner
zip -r ../fix-plugin-does-not-exist-notices-${{ steps.get_version.outputs.VERSION }}.zip fix-plugin-does-not-exist-notices
- name: Create Release
id: create_release
@ -42,11 +42,11 @@ jobs:
draft: false
prerelease: false
files: |
plugin-reference-cleaner-${{ steps.get_version.outputs.VERSION }}.zip
fix-plugin-does-not-exist-notices-${{ steps.get_version.outputs.VERSION }}.zip
body: |
Plugin Reference Cleaner v${{ steps.get_version.outputs.VERSION }}
Fix 'Plugin file does not exist.' Notices v${{ steps.get_version.outputs.VERSION }}
See [CHANGELOG.md](https://github.com/wpallstars/plugin-reference-cleaner/blob/main/CHANGELOG.md) for details.
See [CHANGELOG.md](https://github.com/wpallstars/fix-plugin-does-not-exist-notices/blob/main/CHANGELOG.md) for details.
# Deploy to WordPress.org
wordpress:
@ -65,4 +65,4 @@ jobs:
env:
SVN_USERNAME: ${{ secrets.SVN_USERNAME }}
SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }}
SLUG: plugin-reference-cleaner
SLUG: fix-plugin-does-not-exist-notices

View File

@ -2,6 +2,15 @@
All notable changes to this project will be documented in this file.
## [1.4.1] - 2023-11-30
### Added
- FAQ about keeping the plugin installed after notices are cleared
## [1.4.0] - 2023-11-30
### Changed
- Updated plugin name and text domain
- Repository rename from plugin-reference-cleaner to fix-plugin-does-not-exist-notices
## [1.3.3] - 2023-10-05
### Added
- "Click here to scroll" button to automatically find missing plugins

View File

@ -1,8 +1,8 @@
# Plugin Reference Cleaner
# Fix 'Plugin file does not exist.' Notices
[![WordPress Plugin Version](https://img.shields.io/wordpress/plugin/v/plugin-reference-cleaner)](https://wordpress.org/plugins/plugin-reference-cleaner/)
[![WordPress Plugin Rating](https://img.shields.io/wordpress/plugin/rating/plugin-reference-cleaner)](https://wordpress.org/plugins/plugin-reference-cleaner/)
[![WordPress Plugin Downloads](https://img.shields.io/wordpress/plugin/dt/plugin-reference-cleaner)](https://wordpress.org/plugins/plugin-reference-cleaner/)
[![WordPress Plugin Version](https://img.shields.io/wordpress/plugin/v/fix-plugin-does-not-exist-notices)](https://wordpress.org/plugins/fix-plugin-does-not-exist-notices/)
[![WordPress Plugin Rating](https://img.shields.io/wordpress/plugin/rating/fix-plugin-does-not-exist-notices)](https://wordpress.org/plugins/fix-plugin-does-not-exist-notices/)
[![WordPress Plugin Downloads](https://img.shields.io/wordpress/plugin/dt/fix-plugin-does-not-exist-notices)](https://wordpress.org/plugins/fix-plugin-does-not-exist-notices/)
[![License](https://img.shields.io/badge/license-GPL--2.0%2B-blue.svg)](https://www.gnu.org/licenses/gpl-2.0.html)
Easily remove references to deleted plugins that cause "Plugin file does not exist" errors in your WordPress admin.
@ -45,7 +45,7 @@ When WordPress detects a plugin file that no longer exists but is still referenc
### From WordPress.org:
1. Visit Plugins > Add New in your WordPress admin
2. Search for "Plugin Reference Cleaner"
2. Search for "Fix 'Plugin file does not exist.' Notices"
3. Click "Install Now" and then "Activate"
### Manual Installation:
@ -76,6 +76,22 @@ The plugin entry will be removed from your active plugins list, and the correspo
Yes, the plugin works on both single sites and multisite installations. It properly handles network-activated plugins as well.
### How do I know which plugin references should be removed?
The plugin will only show "Remove Reference" links for plugins that are listed in your database but don't actually exist in your plugins directory. These are safe to remove.
### Will this break my site?
No. Since the plugin is only removing references to plugins that no longer exist, removing these references won't affect your site's functionality. In fact, it's cleaning up remnants that might be causing issues.
### What if I accidentally remove a reference I shouldn't have?
If you remove a reference to a plugin that you later want to reinstall, simply install the plugin again and activate it normally.
### Do I need to keep this plugin installed and active after notices are cleared?
Although this plugin consumes minimal disk space, and doesn't run unless you are on the /wp-admin/plugins.php page, you don't need to keep it active or installed if you don't have this notice to clear — but it is safe to, if you just want it as a part of your overall WordPress stack of enhancements and conveniences.
## Screenshots
1. Error message with explanation notification
@ -104,6 +120,13 @@ The plugin works by:
## Changelog
### 1.4.1
- Added FAQ about keeping the plugin installed after notices are cleared
### 1.4.0
- Updated plugin name and text domain
- Repository rename from plugin-reference-cleaner to fix-plugin-does-not-exist-notices
### 1.3.3
* Improved notification placement next to WordPress error messages
* Added "Click here to scroll" button that automatically locates missing plugins

View File

@ -10,7 +10,7 @@ if [ -z "$1" ]; then
fi
VERSION=$1
PLUGIN_SLUG="plugin-reference-cleaner"
PLUGIN_SLUG="fix-plugin-does-not-exist-notices"
BUILD_DIR="build/$PLUGIN_SLUG"
ZIP_FILE="${PLUGIN_SLUG}-${VERSION}.zip"
@ -20,7 +20,7 @@ mkdir -p $BUILD_DIR
# Copy required files
echo "Copying plugin files..."
cp plugin-reference-cleaner.php $BUILD_DIR/
cp fix-plugin-does-not-exist-notices.php $BUILD_DIR/
cp readme.txt $BUILD_DIR/
cp LICENSE $BUILD_DIR/
cp README.md $BUILD_DIR/

View File

@ -1,21 +1,21 @@
<?php
/**
* Plugin Reference Cleaner
* Fix 'Plugin file does not exist.' Notices
*
* @package PluginReferenceCleaner
* @package FixPluginDoesNotExistNotices
* @author Marcus Quinn
* @copyright 2023 WP All Stars
* @license GPL-2.0+
*
* @wordpress-plugin
* Plugin Name: Plugin Reference Cleaner
* Description: Adds a "Remove Reference" button to plugin deactivation error notices, allowing users to clean up invalid plugin entries.
* Version: 1.3.3
* Plugin Name: Fix 'Plugin file 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: 1.4.2
* Author: Marcus Quinn
* Author URI: https://www.wpallstars.com
* License: GPL-2.0+
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
* Text Domain: plugin-reference-cleaner
* Text Domain: fix-plugin-does-not-exist-notices
* Domain Path: /languages
* Requires at least: 5.0
* Requires PHP: 7.0
@ -39,7 +39,7 @@ if (!defined('ABSPATH')) {
exit;
}
class Plugin_Reference_Cleaner {
class Fix_Plugin_Does_Not_Exist_Notices {
public function __construct() {
// Add our plugin to the plugins list
add_filter('all_plugins', array($this, 'add_missing_plugins_references'));
@ -72,7 +72,7 @@ class Plugin_Reference_Cleaner {
$plugin_name = basename($plugin_path);
$plugins[$plugin_path] = array(
'Name' => $plugin_name . ' <span class="error">(File Missing)</span>',
'Description' => 'This plugin file does not exist. You can safely remove this reference.',
'Description' => 'This plugin is still marked as "Active" in your database — but its folder and files can\'t be found in /wp-content/plugins/. Click "Remove Reference" to permanently remove it from your active plugins list and eliminate the error notice.',
'Version' => 'N/A',
'Author' => '',
'PluginURI' => '',
@ -103,7 +103,7 @@ class Plugin_Reference_Cleaner {
// Add our action
$nonce = wp_create_nonce('remove_plugin_reference_' . $plugin_file);
$remove_url = admin_url('plugins.php?action=remove_reference&plugin=' . urlencode($plugin_file) . '&_wpnonce=' . $nonce);
$actions['remove_reference'] = '<a href="' . esc_url($remove_url) . '" class="delete" aria-label="' . esc_attr__('Remove Reference', 'plugin-reference-cleaner') . '">Remove Reference</a>';
$actions['remove_reference'] = '<a href="' . esc_url($remove_url) . '" class="delete" aria-label="' . esc_attr__('Remove Reference', 'fix-plugin-does-not-exist-notices') . '">Remove Reference</a>';
}
return $actions;
@ -120,7 +120,7 @@ class Plugin_Reference_Cleaner {
// Verify permissions
if (!current_user_can('activate_plugins')) {
wp_die(__('You do not have sufficient permissions to perform this action.', 'plugin-reference-cleaner'));
wp_die(__('You do not have sufficient permissions to perform this action.', 'fix-plugin-does-not-exist-notices'));
}
// Get the plugin file
@ -231,7 +231,7 @@ class Plugin_Reference_Cleaner {
ourNotice.className = 'prc-notice';
// Add content
ourNotice.innerHTML = '<h3 style="margin-top:0;color:#826200;">👉 Plugin Reference Cleaner Can Fix This</h3>' +
ourNotice.innerHTML = '<h3 style="margin-top:0;color:#826200;">👉 Fix Plugin Does Not Exist Notices Can Fix This</h3>' +
'<p>To remove the above error notification, scroll down to find the plugin marked with "<strong style="color:red">(File Missing)</strong>" and click its "<strong>Remove Reference</strong>" link.</p>' +
'<p>This will permanently remove the missing plugin reference from your database.</p>' +
'<p><a href="#" id="prc-scroll-to-plugin" style="font-weight:bold;text-decoration:underline;color:#826200;">Click here to scroll to the missing plugin</a></p>';
@ -288,7 +288,7 @@ class Plugin_Reference_Cleaner {
// Also display our standard info notice with more details
echo '<div class="notice notice-info is-dismissible">';
echo '<h3>Plugin Reference Cleaner</h3>';
echo '<h3>Fix Plugin Does Not Exist Notices</h3>';
echo '<p><strong>Missing plugin files detected:</strong> The plugins listed below with <span style="color:red;">(File Missing)</span> tag no longer exist but are still referenced in your database.</p>';
echo '<p><strong>How to fix:</strong> Click the "Remove Reference" link next to each missing plugin to safely remove it from your active plugins list.</p>';
echo '<p>This will clean up your database and remove the error notifications.</p>';
@ -340,4 +340,4 @@ class Plugin_Reference_Cleaner {
}
// Initialize the plugin
new Plugin_Reference_Cleaner();
new Fix_Plugin_Does_Not_Exist_Notices();

View File

@ -1,11 +1,11 @@
=== Plugin Reference Cleaner ===
=== Fix 'Plugin file does not exist.' Notices ===
Contributors: marcusquinn
Donate link: https://www.wpallstars.com
Tags: plugins, missing plugins, cleanup, error fix, admin tools
Tags: plugins, missing plugins, cleanup, error fix, admin tools, plugin file does not exist
Requires at least: 5.0
Tested up to: 6.4
Requires PHP: 7.0
Stable tag: 1.3.3
Stable tag: 1.4.1
License: GPL-2.0+
License URI: https://www.gnu.org/licenses/gpl-2.0.html
@ -46,7 +46,7 @@ When WordPress detects a plugin file that no longer exists but is still referenc
== Installation ==
1. Upload the `plugin-reference-cleaner` folder to the `/wp-content/plugins/` directory
1. Upload the `fix-plugin-does-not-exist-notices` folder to the `/wp-content/plugins/` directory
2. Activate the plugin through the 'Plugins' menu in WordPress
3. No configuration needed - the plugin works automatically
4. If you have missing plugin errors, you'll immediately see them in your plugins list with "Remove Reference" links
@ -77,6 +77,10 @@ No. Since the plugin is only removing references to plugins that no longer exist
If you remove a reference to a plugin that you later want to reinstall, simply install the plugin again and activate it normally.
= Do I need to keep this plugin installed and active after notices are cleared? =
Although this plugin consumes minimal disk space, and doesn't run unless you are on the /wp-admin/plugins.php page, you don't need to keep it active or installed if you don't have this notice to clear — but it is safe to, if you just want it as a part of your overall WordPress stack of enhancements and conveniences.
== Screenshots ==
1. Error message with explanation notification
@ -85,6 +89,13 @@ If you remove a reference to a plugin that you later want to reinstall, simply i
== Changelog ==
= 1.4.1 =
* Added FAQ about keeping the plugin installed after notices are cleared
= 1.4.0 =
* Updated plugin name and text domain
* Repository rename from plugin-reference-cleaner to fix-plugin-does-not-exist-notices
= 1.3.3 =
* Improved notification placement next to WordPress error messages
* Added "Click here to scroll" button that automatically locates missing plugins