Compare commits
2 Commits
113c4d54da
...
c45621d896
Author | SHA1 | Date | |
---|---|---|---|
c45621d896 | |||
7ae1da3775 |
24
.github/workflows/assets.yml
vendored
Normal file
24
.github/workflows/assets.yml
vendored
Normal 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
|
20
.github/workflows/release.yml
vendored
20
.github/workflows/release.yml
vendored
@ -20,19 +20,19 @@ jobs:
|
|||||||
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
|
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- name: Create build directory
|
- 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
|
- name: Copy plugin files
|
||||||
run: |
|
run: |
|
||||||
cp plugin-reference-cleaner.php build/plugin-reference-cleaner/
|
cp fix-plugin-does-not-exist-notices.php build/fix-plugin-does-not-exist-notices/
|
||||||
cp readme.txt build/plugin-reference-cleaner/
|
cp readme.txt build/fix-plugin-does-not-exist-notices/
|
||||||
cp LICENSE build/plugin-reference-cleaner/
|
cp LICENSE build/fix-plugin-does-not-exist-notices/
|
||||||
cp README.md build/plugin-reference-cleaner/
|
cp README.md build/fix-plugin-does-not-exist-notices/
|
||||||
|
|
||||||
- name: Create ZIP file
|
- name: Create ZIP file
|
||||||
run: |
|
run: |
|
||||||
cd build
|
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
|
- name: Create Release
|
||||||
id: create_release
|
id: create_release
|
||||||
@ -42,11 +42,11 @@ jobs:
|
|||||||
draft: false
|
draft: false
|
||||||
prerelease: false
|
prerelease: false
|
||||||
files: |
|
files: |
|
||||||
plugin-reference-cleaner-${{ steps.get_version.outputs.VERSION }}.zip
|
fix-plugin-does-not-exist-notices-${{ steps.get_version.outputs.VERSION }}.zip
|
||||||
body: |
|
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
|
# Deploy to WordPress.org
|
||||||
wordpress:
|
wordpress:
|
||||||
@ -65,4 +65,4 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
SVN_USERNAME: ${{ secrets.SVN_USERNAME }}
|
SVN_USERNAME: ${{ secrets.SVN_USERNAME }}
|
||||||
SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }}
|
SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }}
|
||||||
SLUG: plugin-reference-cleaner
|
SLUG: fix-plugin-does-not-exist-notices
|
@ -2,6 +2,11 @@
|
|||||||
|
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
## [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
|
## [1.3.3] - 2023-10-05
|
||||||
### Added
|
### Added
|
||||||
- "Click here to scroll" button to automatically find missing plugins
|
- "Click here to scroll" button to automatically find missing plugins
|
||||||
|
14
README.md
14
README.md
@ -1,8 +1,8 @@
|
|||||||
# Plugin Reference Cleaner
|
# Fix 'Plugin file does not exist.' Notices
|
||||||
|
|
||||||
[](https://wordpress.org/plugins/plugin-reference-cleaner/)
|
[](https://wordpress.org/plugins/fix-plugin-does-not-exist-notices/)
|
||||||
[](https://wordpress.org/plugins/plugin-reference-cleaner/)
|
[](https://wordpress.org/plugins/fix-plugin-does-not-exist-notices/)
|
||||||
[](https://wordpress.org/plugins/plugin-reference-cleaner/)
|
[](https://wordpress.org/plugins/fix-plugin-does-not-exist-notices/)
|
||||||
[](https://www.gnu.org/licenses/gpl-2.0.html)
|
[](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.
|
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:
|
### From WordPress.org:
|
||||||
|
|
||||||
1. Visit Plugins > Add New in your WordPress admin
|
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"
|
3. Click "Install Now" and then "Activate"
|
||||||
|
|
||||||
### Manual Installation:
|
### Manual Installation:
|
||||||
@ -104,6 +104,10 @@ The plugin works by:
|
|||||||
|
|
||||||
## Changelog
|
## Changelog
|
||||||
|
|
||||||
|
### 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
|
### 1.3.3
|
||||||
* Improved notification placement next to WordPress error messages
|
* Improved notification placement next to WordPress error messages
|
||||||
* Added "Click here to scroll" button that automatically locates missing plugins
|
* Added "Click here to scroll" button that automatically locates missing plugins
|
||||||
|
4
build.sh
4
build.sh
@ -10,7 +10,7 @@ if [ -z "$1" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
VERSION=$1
|
VERSION=$1
|
||||||
PLUGIN_SLUG="plugin-reference-cleaner"
|
PLUGIN_SLUG="fix-plugin-does-not-exist-notices"
|
||||||
BUILD_DIR="build/$PLUGIN_SLUG"
|
BUILD_DIR="build/$PLUGIN_SLUG"
|
||||||
ZIP_FILE="${PLUGIN_SLUG}-${VERSION}.zip"
|
ZIP_FILE="${PLUGIN_SLUG}-${VERSION}.zip"
|
||||||
|
|
||||||
@ -20,7 +20,7 @@ mkdir -p $BUILD_DIR
|
|||||||
|
|
||||||
# Copy required files
|
# Copy required files
|
||||||
echo "Copying plugin 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 readme.txt $BUILD_DIR/
|
||||||
cp LICENSE $BUILD_DIR/
|
cp LICENSE $BUILD_DIR/
|
||||||
cp README.md $BUILD_DIR/
|
cp README.md $BUILD_DIR/
|
||||||
|
@ -1,21 +1,21 @@
|
|||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* Plugin Reference Cleaner
|
* Fix 'Plugin file does not exist.' Notices
|
||||||
*
|
*
|
||||||
* @package PluginReferenceCleaner
|
* @package FixPluginDoesNotExistNotices
|
||||||
* @author Marcus Quinn
|
* @author Marcus Quinn
|
||||||
* @copyright 2023 WP All Stars
|
* @copyright 2023 WP All Stars
|
||||||
* @license GPL-2.0+
|
* @license GPL-2.0+
|
||||||
*
|
*
|
||||||
* @wordpress-plugin
|
* @wordpress-plugin
|
||||||
* Plugin Name: Plugin Reference Cleaner
|
* Plugin Name: Fix 'Plugin file does not exist.' Notices
|
||||||
* Description: Adds a "Remove Reference" button to plugin deactivation error notices, allowing users to clean up invalid plugin entries.
|
* Description: Adds missing plugins to the plugins list with a "Remove Reference" link so you can clean up invalid plugin entries.
|
||||||
* Version: 1.3.3
|
* Version: 1.4.0
|
||||||
* Author: Marcus Quinn
|
* Author: Marcus Quinn
|
||||||
* Author URI: https://www.wpallstars.com
|
* Author URI: https://www.wpallstars.com
|
||||||
* License: GPL-2.0+
|
* License: GPL-2.0+
|
||||||
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
* 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
|
* Domain Path: /languages
|
||||||
* Requires at least: 5.0
|
* Requires at least: 5.0
|
||||||
* Requires PHP: 7.0
|
* Requires PHP: 7.0
|
||||||
@ -39,7 +39,7 @@ if (!defined('ABSPATH')) {
|
|||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
class Plugin_Reference_Cleaner {
|
class Fix_Plugin_Does_Not_Exist_Notices {
|
||||||
public function __construct() {
|
public function __construct() {
|
||||||
// Add our plugin to the plugins list
|
// Add our plugin to the plugins list
|
||||||
add_filter('all_plugins', array($this, 'add_missing_plugins_references'));
|
add_filter('all_plugins', array($this, 'add_missing_plugins_references'));
|
||||||
@ -103,7 +103,7 @@ class Plugin_Reference_Cleaner {
|
|||||||
// Add our action
|
// Add our action
|
||||||
$nonce = wp_create_nonce('remove_plugin_reference_' . $plugin_file);
|
$nonce = wp_create_nonce('remove_plugin_reference_' . $plugin_file);
|
||||||
$remove_url = admin_url('plugins.php?action=remove_reference&plugin=' . urlencode($plugin_file) . '&_wpnonce=' . $nonce);
|
$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;
|
return $actions;
|
||||||
@ -120,7 +120,7 @@ class Plugin_Reference_Cleaner {
|
|||||||
|
|
||||||
// Verify permissions
|
// Verify permissions
|
||||||
if (!current_user_can('activate_plugins')) {
|
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
|
// Get the plugin file
|
||||||
@ -231,7 +231,7 @@ class Plugin_Reference_Cleaner {
|
|||||||
ourNotice.className = 'prc-notice';
|
ourNotice.className = 'prc-notice';
|
||||||
|
|
||||||
// Add content
|
// 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>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>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>';
|
'<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
|
// Also display our standard info notice with more details
|
||||||
echo '<div class="notice notice-info is-dismissible">';
|
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>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><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>';
|
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
|
// Initialize the plugin
|
||||||
new Plugin_Reference_Cleaner();
|
new Fix_Plugin_Does_Not_Exist_Notices();
|
12
readme.txt
12
readme.txt
@ -1,11 +1,11 @@
|
|||||||
=== Plugin Reference Cleaner ===
|
=== Fix 'Plugin file does not exist.' Notices ===
|
||||||
Contributors: marcusquinn
|
Contributors: marcusquinn
|
||||||
Donate link: https://www.wpallstars.com
|
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
|
Requires at least: 5.0
|
||||||
Tested up to: 6.4
|
Tested up to: 6.4
|
||||||
Requires PHP: 7.0
|
Requires PHP: 7.0
|
||||||
Stable tag: 1.3.3
|
Stable tag: 1.4.0
|
||||||
License: GPL-2.0+
|
License: GPL-2.0+
|
||||||
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
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 ==
|
== 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
|
2. Activate the plugin through the 'Plugins' menu in WordPress
|
||||||
3. No configuration needed - the plugin works automatically
|
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
|
4. If you have missing plugin errors, you'll immediately see them in your plugins list with "Remove Reference" links
|
||||||
@ -85,6 +85,10 @@ If you remove a reference to a plugin that you later want to reinstall, simply i
|
|||||||
|
|
||||||
== Changelog ==
|
== Changelog ==
|
||||||
|
|
||||||
|
= 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 =
|
= 1.3.3 =
|
||||||
* Improved notification placement next to WordPress error messages
|
* Improved notification placement next to WordPress error messages
|
||||||
* Added "Click here to scroll" button that automatically locates missing plugins
|
* Added "Click here to scroll" button that automatically locates missing plugins
|
||||||
|
Reference in New Issue
Block a user