Compare commits
5 Commits
v2.0.0
..
b30277782c
| Author | SHA1 | Date | |
|---|---|---|---|
| b30277782c | |||
| 860f4b0f65 | |||
| 288dad53e5 | |||
| 2ed2bbd6cc | |||
| f315c943e5 |
+19
-8
@@ -29,6 +29,17 @@ All these files respect `.gitignore` patterns and only include additional tool-s
|
|||||||
|
|
||||||
This section should be updated with your specific plugin information. The current implementation is for the "Fix 'Plugin file does not exist.' Notices" plugin, which adds missing plugins to the plugins list with a "Remove Notice" link to clean up invalid plugin entries and remove error notices.
|
This section should be updated with your specific plugin information. The current implementation is for the "Fix 'Plugin file does not exist.' Notices" plugin, which adds missing plugins to the plugins list with a "Remove Notice" link to clean up invalid plugin entries and remove error notices.
|
||||||
|
|
||||||
|
## Reference Plugins
|
||||||
|
|
||||||
|
The `reference-plugins/` directory contains plugins that can be used for reference or inspiration. When developing new features or improving existing ones, you should:
|
||||||
|
|
||||||
|
1. Examine these reference plugins for best practices in code structure, organization, and implementation
|
||||||
|
2. Look for patterns in how they handle similar functionality
|
||||||
|
3. Consider their approach to user interface design and user experience
|
||||||
|
4. Study their documentation style and thoroughness
|
||||||
|
|
||||||
|
These plugins are not part of the codebase and are ignored by Git, but they provide valuable examples of WordPress plugin development standards and techniques.
|
||||||
|
|
||||||
## Version Management
|
## Version Management
|
||||||
|
|
||||||
### Version Numbering Convention
|
### Version Numbering Convention
|
||||||
@@ -59,7 +70,7 @@ We follow [Semantic Versioning](https://semver.org/):
|
|||||||
### Version Update Checklist
|
### Version Update Checklist
|
||||||
|
|
||||||
When updating the version number, always update these files:
|
When updating the version number, always update these files:
|
||||||
1. `fix-plugin-does-not-exist-notices.php` (Plugin header)
|
1. `wp-fix-plugin-does-not-exist-notices.php` (Plugin header)
|
||||||
2. `CHANGELOG.md` (Add new version section)
|
2. `CHANGELOG.md` (Add new version section)
|
||||||
3. `readme.txt` (Stable tag and Changelog section)
|
3. `readme.txt` (Stable tag and Changelog section)
|
||||||
4. `README.md` (Update Changelog section to match readme.txt)
|
4. `README.md` (Update Changelog section to match readme.txt)
|
||||||
@@ -96,11 +107,11 @@ Before creating a new release, verify the following:
|
|||||||
|
|
||||||
1. Create a new branch for the version: `git checkout -b v{MAJOR}.{MINOR}.{PATCH}`
|
1. Create a new branch for the version: `git checkout -b v{MAJOR}.{MINOR}.{PATCH}`
|
||||||
2. Update version numbers in ALL required files:
|
2. Update version numbers in ALL required files:
|
||||||
- `fix-plugin-does-not-exist-notices.php` (Plugin header)
|
- `wp-fix-plugin-does-not-exist-notices.php` (Plugin header)
|
||||||
- `FPDEN_VERSION` constant in the main plugin file
|
- `FPDEN_VERSION` constant in the main plugin file
|
||||||
- `readme.txt` (Stable tag)
|
- `readme.txt` (Stable tag)
|
||||||
- `README.md` (Ensure changelog is updated)
|
- `README.md` (Ensure changelog is updated)
|
||||||
- `languages/fix-plugin-does-not-exist-notices.pot` (Project-Id-Version)
|
- `languages/wp-fix-plugin-does-not-exist-notices.pot` (Project-Id-Version)
|
||||||
- Any other files that reference the version number
|
- Any other files that reference the version number
|
||||||
3. Update CHANGELOG.md with all changes
|
3. Update CHANGELOG.md with all changes
|
||||||
4. Update readme.txt changelog section
|
4. Update readme.txt changelog section
|
||||||
@@ -141,9 +152,9 @@ To manually build the plugin:
|
|||||||
## Remote Repositories
|
## Remote Repositories
|
||||||
|
|
||||||
The plugin is hosted on multiple repositories:
|
The plugin is hosted on multiple repositories:
|
||||||
- GitHub: https://github.com/wpallstars/fix-plugin-does-not-exist-notices
|
- GitHub: https://github.com/wpallstars/wp-fix-plugin-does-not-exist-notices
|
||||||
- Gitea: https://gitea.wpallstars.com/wpallstars/fix-plugin-does-not-exist-notices
|
- Gitea: https://gitea.wpallstars.com/wpallstars/wp-fix-plugin-does-not-exist-notices
|
||||||
- WordPress.org: https://wordpress.org/plugins/fix-plugin-does-not-exist-notices/
|
- WordPress.org: https://wordpress.org/plugins/wp-fix-plugin-does-not-exist-notices/
|
||||||
|
|
||||||
Always push changes to all remotes to keep them in sync.
|
Always push changes to all remotes to keep them in sync.
|
||||||
|
|
||||||
@@ -173,11 +184,11 @@ git checkout main
|
|||||||
git checkout -b v1.7.0
|
git checkout -b v1.7.0
|
||||||
|
|
||||||
# 2. Update version numbers in ALL required files
|
# 2. Update version numbers in ALL required files
|
||||||
# - fix-plugin-does-not-exist-notices.php
|
# - wp-fix-plugin-does-not-exist-notices.php
|
||||||
# - CHANGELOG.md
|
# - CHANGELOG.md
|
||||||
# - readme.txt
|
# - readme.txt
|
||||||
# - README.md
|
# - README.md
|
||||||
# - languages/fix-plugin-does-not-exist-notices.pot
|
# - languages/wp-fix-plugin-does-not-exist-notices.pot
|
||||||
# - FPDEN_VERSION constant
|
# - FPDEN_VERSION constant
|
||||||
|
|
||||||
# 3. Commit changes
|
# 3. Commit changes
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ When implementing a new feature:
|
|||||||
- Add appropriate comments
|
- Add appropriate comments
|
||||||
- Consider performance implications
|
- Consider performance implications
|
||||||
- Maintain backward compatibility
|
- Maintain backward compatibility
|
||||||
|
- Review reference plugins in the `reference-plugins/` directory for inspiration and best practices
|
||||||
|
|
||||||
### 3. Update Documentation
|
### 3. Update Documentation
|
||||||
|
|
||||||
|
|||||||
-39
@@ -1,39 +0,0 @@
|
|||||||
kind: pipeline
|
|
||||||
type: docker
|
|
||||||
name: build-release
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
event:
|
|
||||||
- tag
|
|
||||||
ref:
|
|
||||||
- refs/tags/v*
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: build
|
|
||||||
image: alpine:latest
|
|
||||||
commands:
|
|
||||||
- apk add --no-cache bash zip
|
|
||||||
- VERSION=${DRONE_TAG#v}
|
|
||||||
- mkdir -p build/fix-plugin-does-not-exist-notices
|
|
||||||
- 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/
|
|
||||||
- cp CHANGELOG.md build/fix-plugin-does-not-exist-notices/
|
|
||||||
- cd build
|
|
||||||
- zip -r ../fix-plugin-does-not-exist-notices-$VERSION.zip fix-plugin-does-not-exist-notices
|
|
||||||
- cd ..
|
|
||||||
|
|
||||||
- name: release
|
|
||||||
image: plugins/gitea-release
|
|
||||||
settings:
|
|
||||||
api_key:
|
|
||||||
from_secret: gitea_token
|
|
||||||
base_url: https://gitea.wpallstars.com
|
|
||||||
files:
|
|
||||||
- fix-plugin-does-not-exist-notices-*.zip
|
|
||||||
title: Release ${DRONE_TAG}
|
|
||||||
note: |
|
|
||||||
Fix 'Plugin file does not exist.' Notices ${DRONE_TAG}
|
|
||||||
|
|
||||||
See [CHANGELOG.md](https://gitea.wpallstars.com/wpallstars/fix-plugin-does-not-exist-notices/src/branch/main/CHANGELOG.md) for details.
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
# This file configures how Git handles line endings and file types
|
|
||||||
# It is independent from .gitignore which controls which files are tracked
|
|
||||||
|
|
||||||
# Auto detect text files and perform LF normalization
|
|
||||||
* text=auto
|
|
||||||
|
|
||||||
# Text files that should be normalized
|
|
||||||
*.php text
|
|
||||||
*.css text
|
|
||||||
*.js text
|
|
||||||
*.htm text
|
|
||||||
*.html text
|
|
||||||
*.xml text
|
|
||||||
*.txt text
|
|
||||||
*.ini text
|
|
||||||
*.inc text
|
|
||||||
*.md text
|
|
||||||
.htaccess text
|
|
||||||
|
|
||||||
# Files that should be treated as binary
|
|
||||||
*.png binary
|
|
||||||
*.jpg binary
|
|
||||||
*.gif binary
|
|
||||||
*.ico binary
|
|
||||||
*.zip binary
|
|
||||||
*.gz binary
|
|
||||||
*.tar binary
|
|
||||||
*.ttf binary
|
|
||||||
*.eot binary
|
|
||||||
*.woff binary
|
|
||||||
|
|
||||||
# Set the default behavior for GitHub language detection
|
|
||||||
*.css linguist-language=CSS
|
|
||||||
*.js linguist-language=JavaScript
|
|
||||||
*.php linguist-language=PHP
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
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
|
|
||||||
@@ -1,69 +0,0 @@
|
|||||||
name: Build Release
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- 'v*'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
name: Build and Create Release
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
steps:
|
|
||||||
- name: Checkout code
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Get version
|
|
||||||
id: get_version
|
|
||||||
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
|
|
||||||
|
|
||||||
- name: Create build directory
|
|
||||||
run: mkdir -p build/fix-plugin-does-not-exist-notices
|
|
||||||
|
|
||||||
- name: Copy plugin files
|
|
||||||
run: |
|
|
||||||
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/
|
|
||||||
cp -r assets build/fix-plugin-does-not-exist-notices/
|
|
||||||
|
|
||||||
- name: Create ZIP file
|
|
||||||
run: |
|
|
||||||
cd build
|
|
||||||
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
|
|
||||||
uses: softprops/action-gh-release@v1
|
|
||||||
with:
|
|
||||||
name: Release v${{ steps.get_version.outputs.VERSION }}
|
|
||||||
draft: false
|
|
||||||
prerelease: false
|
|
||||||
files: |
|
|
||||||
fix-plugin-does-not-exist-notices-${{ steps.get_version.outputs.VERSION }}.zip
|
|
||||||
body: |
|
|
||||||
Fix 'Plugin file does not exist.' Notices v${{ steps.get_version.outputs.VERSION }}
|
|
||||||
|
|
||||||
See [CHANGELOG.md](https://github.com/wpallstars/fix-plugin-does-not-exist-notices/blob/main/CHANGELOG.md) for details.
|
|
||||||
|
|
||||||
# Deploy to WordPress.org
|
|
||||||
wordpress:
|
|
||||||
name: Deploy to WordPress.org
|
|
||||||
needs: build
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout code
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: WordPress Plugin Deploy
|
|
||||||
id: deploy
|
|
||||||
uses: 10up/action-wordpress-plugin-deploy@stable
|
|
||||||
with:
|
|
||||||
generate-zip: true
|
|
||||||
env:
|
|
||||||
SVN_USERNAME: ${{ secrets.SVN_USERNAME }}
|
|
||||||
SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }}
|
|
||||||
SLUG: fix-plugin-does-not-exist-notices
|
|
||||||
@@ -45,6 +45,9 @@ wp-content/backup-db/
|
|||||||
wp-content/cache/
|
wp-content/cache/
|
||||||
wp-content/backups/
|
wp-content/backups/
|
||||||
|
|
||||||
|
# Reference plugins
|
||||||
|
reference-plugins/
|
||||||
|
|
||||||
# Log files
|
# Log files
|
||||||
*.log
|
*.log
|
||||||
error_log
|
error_log
|
||||||
|
|||||||
@@ -1,41 +0,0 @@
|
|||||||
clone:
|
|
||||||
git:
|
|
||||||
image: woodpeckerci/plugin-git
|
|
||||||
debug: true
|
|
||||||
|
|
||||||
steps:
|
|
||||||
build:
|
|
||||||
image: alpine:latest
|
|
||||||
commands:
|
|
||||||
- apk add --no-cache bash zip
|
|
||||||
- VERSION=${CI_COMMIT_TAG#v}
|
|
||||||
- mkdir -p build/fix-plugin-does-not-exist-notices
|
|
||||||
- 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/
|
|
||||||
- if [ -f CHANGELOG.md ]; then cp CHANGELOG.md build/fix-plugin-does-not-exist-notices/; fi
|
|
||||||
- cd build
|
|
||||||
- zip -r ../fix-plugin-does-not-exist-notices-$VERSION.zip fix-plugin-does-not-exist-notices
|
|
||||||
- cd ..
|
|
||||||
- echo "Build completed - fix-plugin-does-not-exist-notices-$VERSION.zip"
|
|
||||||
- ls -la *.zip
|
|
||||||
|
|
||||||
release:
|
|
||||||
image: plugins/gitea-release
|
|
||||||
environment:
|
|
||||||
PLUGIN_API_KEY:
|
|
||||||
from_secret: gitea_token
|
|
||||||
PLUGIN_BASE_URL: https://gitea.wpallstars.com
|
|
||||||
PLUGIN_FILES: fix-plugin-does-not-exist-notices-*.zip
|
|
||||||
PLUGIN_TITLE: "Release ${CI_COMMIT_TAG}"
|
|
||||||
PLUGIN_NOTE: "Fix 'Plugin file does not exist.' Notices ${CI_COMMIT_TAG}\n\nSee [CHANGELOG.md](https://gitea.wpallstars.com/wpallstars/fix-plugin-does-not-exist-notices/src/branch/main/CHANGELOG.md) for details."
|
|
||||||
|
|
||||||
test:
|
|
||||||
image: alpine:latest
|
|
||||||
commands:
|
|
||||||
- echo "Hello from Woodpecker CI"
|
|
||||||
- echo "Testing minimal configuration"
|
|
||||||
|
|
||||||
when:
|
|
||||||
event: [push, tag, pull_request]
|
|
||||||
@@ -2,14 +2,16 @@
|
|||||||
|
|
||||||
This directory contains assets specific to the WordPress.org plugin repository and is used for automatic deployment via GitHub Actions.
|
This directory contains assets specific to the WordPress.org plugin repository and is used for automatic deployment via GitHub Actions.
|
||||||
|
|
||||||
## Directory Contents
|
## Directory Structure
|
||||||
|
|
||||||
- `icon.svg` - Plugin icon displayed in the WordPress.org plugin directory
|
```
|
||||||
- `banner-772x250.png` - Standard banner for plugin header
|
/assets/
|
||||||
- `banner-1544x500.png` - Retina banner for plugin header
|
icon-256x256.png
|
||||||
- `screenshot-1.png` - First screenshot displayed on plugin page
|
icon-128x128.png
|
||||||
- `screenshot-2.png` - Second screenshot displayed on plugin page
|
banner-772x250.png
|
||||||
- `screenshot-3.png` - Third screenshot displayed on plugin page
|
banner-1544x500.png
|
||||||
|
screenshot-1.png
|
||||||
|
```
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
|
|
||||||
@@ -17,4 +19,21 @@ When using GitHub Actions for WordPress.org plugin deployments (via the 10up Wor
|
|||||||
|
|
||||||
## Naming Conventions
|
## Naming Conventions
|
||||||
|
|
||||||
Files must be named exactly as shown above to be properly recognized by the WordPress.org system during the deployment process.
|
Files must be named exactly as shown above to be properly recognized by the WordPress.org system during the deployment process.
|
||||||
|
|
||||||
|
## Right-to-Left (RTL) Support
|
||||||
|
|
||||||
|
For plugins that support Right-to-Left languages (like Hebrew and Arabic), you can provide RTL versions of assets by appending `-rtl` to the filename:
|
||||||
|
|
||||||
|
- `banner-772x250-rtl.png`
|
||||||
|
- `banner-1544x500-rtl.png`
|
||||||
|
- `icon-256x256-rtl.png`
|
||||||
|
|
||||||
|
Note that the `-rtl` suffix is specifically for Right-to-Left language support, not for dark mode versions of assets.
|
||||||
|
|
||||||
|
## Additional Resources
|
||||||
|
|
||||||
|
For more detailed information about WordPress.org plugin assets, please see:
|
||||||
|
|
||||||
|
- [WordPress Plugin Developer Handbook - Plugin Assets](https://developer.wordpress.org/plugins/wordpress-org/plugin-assets/)
|
||||||
|
- [WordPress Plugin Directory README.txt Standard](https://developer.wordpress.org/plugins/wordpress-org/how-your-readme-txt-works/)
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 38 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.7 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 392 KiB |
+21
-1
@@ -2,6 +2,26 @@
|
|||||||
|
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
## [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
|
||||||
|
- Improved organization of assets for WordPress.org submission
|
||||||
|
- Updated .wordpress-org/README.md with comprehensive information
|
||||||
|
|
||||||
|
## [2.0.1] - 2024-05-17
|
||||||
|
### Added
|
||||||
|
- Contributing section to readme.txt
|
||||||
|
- reference-plugins directory for plugin development inspiration
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Updated "tested up to" version to WordPress 6.7.2
|
||||||
|
- Improved .gitattributes with comprehensive file handling
|
||||||
|
- Enhanced documentation organization
|
||||||
|
|
||||||
## [2.0.0] - 2024-05-17
|
## [2.0.0] - 2024-05-17
|
||||||
### Added
|
### Added
|
||||||
- Note clarifying that the plugin has no settings page
|
- Note clarifying that the plugin has no settings page
|
||||||
@@ -235,7 +255,7 @@ All notable changes to this project will be documented in this file.
|
|||||||
## [1.4.0] - 2023-11-30
|
## [1.4.0] - 2023-11-30
|
||||||
### Changed
|
### Changed
|
||||||
- Updated plugin name and text domain
|
- Updated plugin name and text domain
|
||||||
- Repository rename from plugin-reference-cleaner to fix-plugin-does-not-exist-notices
|
- Repository rename from plugin-reference-cleaner to wp-fix-plugin-does-not-exist-notices
|
||||||
|
|
||||||
## [1.3.3] - 2023-10-05
|
## [1.3.3] - 2023-10-05
|
||||||
### Added
|
### Added
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
# Fix 'Plugin file does not exist.' Notices
|
# Fix 'Plugin file does not exist.' Notices
|
||||||
|
|
||||||
[](https://wordpress.org/plugins/fix-plugin-does-not-exist-notices/)
|
[](https://wordpress.org/plugins/wp-fix-plugin-does-not-exist-notices/)
|
||||||
[](https://wordpress.org/plugins/fix-plugin-does-not-exist-notices/)
|
[](https://wordpress.org/plugins/wp-fix-plugin-does-not-exist-notices/)
|
||||||
[](https://wordpress.org/plugins/fix-plugin-does-not-exist-notices/)
|
[](https://wordpress.org/plugins/wp-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.
|
||||||
@@ -136,15 +136,14 @@ Contributions are welcome! Please feel free to submit a Pull Request.
|
|||||||
|
|
||||||
This repository is configured to work with various AI-powered development tools. You can use any of the following AI IDEs to contribute to this project:
|
This repository is configured to work with various AI-powered development tools. You can use any of the following AI IDEs to contribute to this project:
|
||||||
|
|
||||||
- [Augment](https://augment.dev/) - AI-powered coding assistant
|
- [Augment Code](https://www.augmentcode.com/) - AI-powered coding assistant
|
||||||
- [Cursor](https://cursor.sh/) - AI-first code editor
|
- [Cursor](https://cursor.com/) - AI-first code editor
|
||||||
- [v0](https://v0.dev/) - AI-powered design and development tool
|
- [v0](https://v0.dev/) - AI-powered design and development tool
|
||||||
- [Windsurf](https://www.windsurf.io/) - AI coding assistant
|
- [Windsurf](https://www.windsurf.com/) - AI coding assistant
|
||||||
- [Cline](https://cline.tools/) - AI terminal assistant
|
- [Cline](https://cline.bot/) - AI terminal assistant
|
||||||
- [Roo](https://roo.ai/) - AI pair programmer
|
- [Roo Code](https://roocode.com/) - AI pair programmer
|
||||||
- [Gemini Code Assist](https://ai.google.dev/gemini-api) - Google's AI coding assistant
|
- [Loveable](https://lovable.dev/) - AI development environment
|
||||||
- [Loveable](https://www.loveable.ai/) - AI development environment
|
- [Bolt](https://www.bolt.new/) - AI-powered code editor
|
||||||
- [Bolt](https://www.bolt.dev/) - AI-powered code editor
|
|
||||||
- [Cody](https://sourcegraph.com/cody) - Sourcegraph's AI coding assistant
|
- [Cody](https://sourcegraph.com/cody) - Sourcegraph's AI coding assistant
|
||||||
- [Continue](https://continue.dev/) - Open-source AI coding assistant
|
- [Continue](https://continue.dev/) - Open-source AI coding assistant
|
||||||
|
|
||||||
@@ -160,6 +159,21 @@ The plugin works by:
|
|||||||
|
|
||||||
## Changelog
|
## 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
|
||||||
|
* Updated .wordpress-org/README.md with comprehensive information
|
||||||
|
|
||||||
|
### 2.0.1
|
||||||
|
* Added Contributing section to readme.txt
|
||||||
|
* Updated "tested up to" version to WordPress 6.7.2
|
||||||
|
* Added reference-plugins directory for plugin development inspiration
|
||||||
|
* Improved .gitattributes with comprehensive file handling
|
||||||
|
* Enhanced documentation organization
|
||||||
|
|
||||||
### 2.0.0
|
### 2.0.0
|
||||||
* Major version release for WordPress.org submission
|
* Major version release for WordPress.org submission
|
||||||
* Added note clarifying that the plugin has no settings page
|
* Added note clarifying that the plugin has no settings page
|
||||||
@@ -365,8 +379,8 @@ This project is licensed under the GPL-2.0+ License - see the [LICENSE](LICENSE)
|
|||||||
|
|
||||||
If you need help with this plugin, there are several ways to get support:
|
If you need help with this plugin, there are several ways to get support:
|
||||||
|
|
||||||
* [WordPress.org Support Forums](https://wordpress.org/support/plugin/fix-plugin-does-not-exist-notices/)
|
* [WordPress.org Support Forums](https://wordpress.org/support/plugin/wp-fix-plugin-does-not-exist-notices/)
|
||||||
* [GitHub Issues](https://github.com/wpallstars/fix-plugin-does-not-exist-notices/issues)
|
* [GitHub Issues](https://github.com/wpallstars/wp-fix-plugin-does-not-exist-notices/issues)
|
||||||
* [Gitea Issues](https://gitea.wpallstars.com/wpallstars/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/fix-plugin-does-not-exist-notices/reviews/) on WordPress.org. Your feedback helps others discover the plugin and encourages continued development and support.
|
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.
|
||||||
@@ -10,7 +10,7 @@ if [ -z "$1" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
VERSION=$1
|
VERSION=$1
|
||||||
PLUGIN_SLUG="fix-plugin-does-not-exist-notices"
|
PLUGIN_SLUG="wp-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"
|
||||||
|
|
||||||
@@ -24,7 +24,7 @@ composer install --no-dev --optimize-autoloader
|
|||||||
|
|
||||||
# Copy required files
|
# Copy required files
|
||||||
echo "Copying plugin files..."
|
echo "Copying plugin files..."
|
||||||
cp fix-plugin-does-not-exist-notices.php $BUILD_DIR/
|
cp wp-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
-1
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "wpallstars/fix-plugin-does-not-exist-notices",
|
"name": "wpallstars/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.",
|
"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.",
|
||||||
"type": "wordpress-plugin",
|
"type": "wordpress-plugin",
|
||||||
"license": "GPL-2.0-or-later",
|
"license": "GPL-2.0-or-later",
|
||||||
|
|||||||
@@ -145,9 +145,9 @@ class Updater {
|
|||||||
// Set the update server based on the installation source
|
// Set the update server based on the installation source
|
||||||
\add_filter('gul_update_server', function() {
|
\add_filter('gul_update_server', function() {
|
||||||
if ($this->source === 'github') {
|
if ($this->source === 'github') {
|
||||||
return 'https://github.com/wpallstars/fix-plugin-does-not-exist-notices'; // GitHub repository URL
|
return 'https://github.com/wpallstars/wp-fix-plugin-does-not-exist-notices'; // GitHub repository URL
|
||||||
} elseif ($this->source === 'gitea') {
|
} elseif ($this->source === 'gitea') {
|
||||||
return 'https://gitea.wpallstars.com/wpallstars/fix-plugin-does-not-exist-notices'; // Gitea repository URL
|
return 'https://gitea.wpallstars.com/wpallstars/wp-fix-plugin-does-not-exist-notices'; // Gitea repository URL
|
||||||
}
|
}
|
||||||
return '';
|
return '';
|
||||||
});
|
});
|
||||||
|
|||||||
+25
-25
@@ -2,24 +2,24 @@
|
|||||||
# This file is distributed under the GPL-2.0+.
|
# This file is distributed under the GPL-2.0+.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Fix 'Plugin file does not exist.' Notices 2.0.0\n"
|
"Project-Id-Version: Fix 'Plugin file does not exist.' Notices 2.0.4\n"
|
||||||
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/fix-plugin-does-not-exist-notices\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"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\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"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"X-Generator: WP-CLI 2.8.1\n"
|
"X-Generator: WP-CLI 2.8.1\n"
|
||||||
"X-Domain: fix-plugin-does-not-exist-notices\n"
|
"X-Domain: wp-fix-plugin-does-not-exist-notices\n"
|
||||||
|
|
||||||
#. Plugin Name of the plugin
|
#. Plugin Name of the plugin
|
||||||
msgid "Fix 'Plugin file does not exist.' Notices"
|
msgid "Fix 'Plugin file does not exist.' Notices"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. Plugin URI of the plugin
|
#. Plugin URI of the plugin
|
||||||
msgid "https://wordpress.org/plugins/fix-plugin-does-not-exist-notices/"
|
msgid "https://wordpress.org/plugins/wp-fix-plugin-does-not-exist-notices/"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. Description of the plugin
|
#. Description of the plugin
|
||||||
@@ -34,81 +34,81 @@ msgstr ""
|
|||||||
msgid "https://www.wpallstars.com"
|
msgid "https://www.wpallstars.com"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: fix-plugin-does-not-exist-notices.php:127
|
#: wp-fix-plugin-does-not-exist-notices.php:127
|
||||||
msgid "Click here to scroll to missing plugins"
|
msgid "Click here to scroll to missing plugins"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: fix-plugin-does-not-exist-notices.php:128
|
#: wp-fix-plugin-does-not-exist-notices.php:128
|
||||||
msgid "Plugin file missing"
|
msgid "Plugin file missing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: fix-plugin-does-not-exist-notices.php:129
|
#: wp-fix-plugin-does-not-exist-notices.php:129
|
||||||
#: fix-plugin-does-not-exist-notices.php:205
|
#: wp-fix-plugin-does-not-exist-notices.php:205
|
||||||
msgid "Remove Reference"
|
msgid "Remove Reference"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. translators: %s: Path to wp-content/plugins
|
#. translators: %s: Path to wp-content/plugins
|
||||||
#: fix-plugin-does-not-exist-notices.php:161
|
#: wp-fix-plugin-does-not-exist-notices.php:161
|
||||||
msgid "This plugin is still marked as \"Active\" in your database — but its folder and files can't be found in %s. Click \"Remove Reference\" to permanently remove it from your active plugins list and eliminate the error notice."
|
msgid "This plugin is still marked as \"Active\" in your database — but its folder and files can't be found in %s. Click \"Remove Reference\" to permanently remove it from your active plugins list and eliminate the error notice."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: fix-plugin-does-not-exist-notices.php:164
|
#: wp-fix-plugin-does-not-exist-notices.php:164
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: fix-plugin-does-not-exist-notices.php:168
|
#: wp-fix-plugin-does-not-exist-notices.php:168
|
||||||
msgid "Missing"
|
msgid "Missing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. translators: %s: Plugin file path
|
#. translators: %s: Plugin file path
|
||||||
#: fix-plugin-does-not-exist-notices.php:204
|
#: wp-fix-plugin-does-not-exist-notices.php:204
|
||||||
msgid "Remove reference to missing plugin %s"
|
msgid "Remove reference to missing plugin %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: fix-plugin-does-not-exist-notices.php:227
|
#: wp-fix-plugin-does-not-exist-notices.php:227
|
||||||
msgid "You do not have sufficient permissions to perform this action."
|
msgid "You do not have sufficient permissions to perform this action."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: fix-plugin-does-not-exist-notices.php:233
|
#: wp-fix-plugin-does-not-exist-notices.php:233
|
||||||
msgid "Invalid plugin specified."
|
msgid "Invalid plugin specified."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: fix-plugin-does-not-exist-notices.php:308
|
#: wp-fix-plugin-does-not-exist-notices.php:308
|
||||||
msgid "Plugin reference removed successfully."
|
msgid "Plugin reference removed successfully."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: fix-plugin-does-not-exist-notices.php:316
|
#: wp-fix-plugin-does-not-exist-notices.php:316
|
||||||
msgid "Failed to remove plugin reference. The plugin may already have been removed, or there was a database issue."
|
msgid "Failed to remove plugin reference. The plugin may already have been removed, or there was a database issue."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: fix-plugin-does-not-exist-notices.php:331
|
#: wp-fix-plugin-does-not-exist-notices.php:331
|
||||||
msgid "Fix Plugin Does Not Exist Notices"
|
msgid "Fix Plugin Does Not Exist Notices"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: fix-plugin-does-not-exist-notices.php:333
|
#: wp-fix-plugin-does-not-exist-notices.php:333
|
||||||
msgid "Missing plugin files detected:"
|
msgid "Missing plugin files detected:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: fix-plugin-does-not-exist-notices.php:334
|
#: wp-fix-plugin-does-not-exist-notices.php:334
|
||||||
msgid "The plugins listed below with a"
|
msgid "The plugins listed below with a"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: fix-plugin-does-not-exist-notices.php:335
|
#: wp-fix-plugin-does-not-exist-notices.php:335
|
||||||
msgid "File Missing"
|
msgid "File Missing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: fix-plugin-does-not-exist-notices.php:336
|
#: wp-fix-plugin-does-not-exist-notices.php:336
|
||||||
msgid "tag no longer exist but are still referenced in your database."
|
msgid "tag no longer exist but are still referenced in your database."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: fix-plugin-does-not-exist-notices.php:339
|
#: wp-fix-plugin-does-not-exist-notices.php:339
|
||||||
msgid "How to fix:"
|
msgid "How to fix:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: fix-plugin-does-not-exist-notices.php:340
|
#: wp-fix-plugin-does-not-exist-notices.php:340
|
||||||
msgid "Click the \"Remove Reference\" link next to each missing plugin to safely remove it from your active plugins list."
|
msgid "Click the \"Remove Reference\" link next to each missing plugin to safely remove it from your active plugins list."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: fix-plugin-does-not-exist-notices.php:342
|
#: wp-fix-plugin-does-not-exist-notices.php:342
|
||||||
msgid "This will clean up your database and remove the error notifications."
|
msgid "This will clean up your database and remove the error notifications."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
+41
-8
@@ -3,9 +3,9 @@ Contributors: marcusquinn, wpallstars
|
|||||||
Donate link: https://www.marcusquinn.com
|
Donate link: https://www.marcusquinn.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
|
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
|
Requires at least: 5.0
|
||||||
Tested up to: 6.4
|
Tested up to: 6.7.2
|
||||||
Requires PHP: 7.0
|
Requires PHP: 7.0
|
||||||
Stable tag: 2.0.0
|
Stable tag: 2.0.4
|
||||||
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
|
||||||
|
|
||||||
@@ -50,7 +50,7 @@ When WordPress detects a plugin file that no longer exists but is still referenc
|
|||||||
|
|
||||||
== Installation ==
|
== Installation ==
|
||||||
|
|
||||||
1. Upload the `fix-plugin-does-not-exist-notices` folder to the `/wp-content/plugins/` directory
|
1. Upload the `wp-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 Notice" links
|
4. If you have missing plugin errors, you'll immediately see them in your plugins list with "Remove Notice" links
|
||||||
@@ -111,6 +111,21 @@ Manually editing the WordPress database is risky and requires technical knowledg
|
|||||||
|
|
||||||
== Changelog ==
|
== 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
|
||||||
|
* Updated .wordpress-org/README.md with comprehensive information
|
||||||
|
|
||||||
|
= 2.0.1 =
|
||||||
|
* Added Contributing section to readme.txt
|
||||||
|
* Updated "tested up to" version to WordPress 6.7.2
|
||||||
|
* Added reference-plugins directory for plugin development inspiration
|
||||||
|
* Improved .gitattributes with comprehensive file handling
|
||||||
|
* Enhanced documentation organization
|
||||||
|
|
||||||
= 2.0.0 =
|
= 2.0.0 =
|
||||||
* Major version release for WordPress.org submission
|
* Major version release for WordPress.org submission
|
||||||
* Added note clarifying that the plugin has no settings page
|
* Added note clarifying that the plugin has no settings page
|
||||||
@@ -311,7 +326,7 @@ Manually editing the WordPress database is risky and requires technical knowledg
|
|||||||
|
|
||||||
= 1.4.0 =
|
= 1.4.0 =
|
||||||
* Updated plugin name and text domain
|
* Updated plugin name and text domain
|
||||||
* Repository rename from plugin-reference-cleaner to fix-plugin-does-not-exist-notices
|
* Repository rename from plugin-reference-cleaner to wp-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
|
||||||
@@ -372,6 +387,12 @@ Manually editing the WordPress database is risky and requires technical knowledg
|
|||||||
|
|
||||||
== Upgrade Notice ==
|
== Upgrade Notice ==
|
||||||
|
|
||||||
|
= 2.0.2 =
|
||||||
|
Improved organization of assets for WordPress.org submission.
|
||||||
|
|
||||||
|
= 2.0.1 =
|
||||||
|
Improved documentation with Contributing section and updated WordPress compatibility to 6.7.2.
|
||||||
|
|
||||||
= 2.0.0 =
|
= 2.0.0 =
|
||||||
Major version release for WordPress.org submission with improved documentation and clarification about plugin functionality.
|
Major version release for WordPress.org submission with improved documentation and clarification about plugin functionality.
|
||||||
|
|
||||||
@@ -453,12 +474,24 @@ Completely redesigned for better compatibility with all WordPress themes - now w
|
|||||||
= 1.2.2 =
|
= 1.2.2 =
|
||||||
Important stability fix - resolves timeout issues during plugin activation!
|
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 ==
|
== Support ==
|
||||||
|
|
||||||
If you need help with this plugin, there are several ways to get support:
|
If you need help with this plugin, there are several ways to get support:
|
||||||
|
|
||||||
* [WordPress.org Support Forums](https://wordpress.org/support/plugin/fix-plugin-does-not-exist-notices/)
|
* [WordPress.org Support Forums](https://wordpress.org/support/plugin/wp-fix-plugin-does-not-exist-notices/)
|
||||||
* [GitHub Issues](https://github.com/wpallstars/fix-plugin-does-not-exist-notices/issues)
|
* [GitHub Issues](https://github.com/wpallstars/wp-fix-plugin-does-not-exist-notices/issues)
|
||||||
* [Gitea Issues](https://gitea.wpallstars.com/wpallstars/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/fix-plugin-does-not-exist-notices/reviews/) on WordPress.org. Your feedback helps others discover the plugin and encourages continued development and support.
|
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.
|
||||||
@@ -11,21 +11,21 @@
|
|||||||
*
|
*
|
||||||
* @wordpress-plugin
|
* @wordpress-plugin
|
||||||
* Plugin Name: Fix 'Plugin file does not exist.' Notices
|
* Plugin Name: Fix 'Plugin file does not exist.' Notices
|
||||||
* Plugin URI: https://wordpress.org/plugins/fix-plugin-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.
|
* 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.0
|
* Version: 2.0.4
|
||||||
* Author: Marcus Quinn & WP ALLSTARS
|
* Author: Marcus Quinn & WP ALLSTARS
|
||||||
* 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: fix-plugin-does-not-exist-notices
|
* Text Domain: wp-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
|
||||||
* Update URI: https://git-updater.wpallstars.com
|
* Update URI: https://git-updater.wpallstars.com
|
||||||
* GitHub Plugin URI: wpallstars/fix-plugin-does-not-exist-notices
|
* GitHub Plugin URI: wpallstars/wp-fix-plugin-does-not-exist-notices
|
||||||
* GitHub Branch: main
|
* GitHub Branch: main
|
||||||
* Gitea Plugin URI: wpallstars/fix-plugin-does-not-exist-notices
|
* Gitea Plugin URI: wpallstars/wp-fix-plugin-does-not-exist-notices
|
||||||
* Gitea Branch: main
|
* Gitea Branch: main
|
||||||
*
|
*
|
||||||
* This plugin is free software: you can redistribute it and/or modify
|
* This plugin is free software: you can redistribute it and/or modify
|
||||||
@@ -48,7 +48,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Define plugin constants
|
// Define plugin constants
|
||||||
define( 'FPDEN_VERSION', '2.0.0' );
|
define( 'FPDEN_VERSION', '2.0.4' );
|
||||||
define( 'FPDEN_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
|
define( 'FPDEN_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
|
||||||
define( 'FPDEN_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
|
define( 'FPDEN_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
|
||||||
define( 'FPDEN_PLUGIN_FILE', __FILE__ );
|
define( 'FPDEN_PLUGIN_FILE', __FILE__ );
|
||||||
@@ -61,7 +61,7 @@ define( 'FPDEN_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
|
|||||||
*/
|
*/
|
||||||
function fpden_load_textdomain() {
|
function fpden_load_textdomain() {
|
||||||
load_plugin_textdomain(
|
load_plugin_textdomain(
|
||||||
'fix-plugin-does-not-exist-notices',
|
'wp-fix-plugin-does-not-exist-notices',
|
||||||
false,
|
false,
|
||||||
dirname( plugin_basename( __FILE__ ) ) . '/languages/'
|
dirname( plugin_basename( __FILE__ ) ) . '/languages/'
|
||||||
);
|
);
|
||||||
@@ -142,9 +142,9 @@ class Fix_Plugin_Does_Not_Exist_Notices {
|
|||||||
'fpdenData',
|
'fpdenData',
|
||||||
array(
|
array(
|
||||||
'i18n' => array(
|
'i18n' => array(
|
||||||
'clickToScroll' => esc_html__( 'Click here to scroll to missing plugins', 'fix-plugin-does-not-exist-notices' ),
|
'clickToScroll' => esc_html__( 'Click here to scroll to missing plugins', 'wp-fix-plugin-does-not-exist-notices' ),
|
||||||
'pluginMissing' => esc_html__( 'File Missing', 'fix-plugin-does-not-exist-notices' ),
|
'pluginMissing' => esc_html__( 'File Missing', 'wp-fix-plugin-does-not-exist-notices' ),
|
||||||
'removeNotice' => esc_html__( 'Remove Notice', 'fix-plugin-does-not-exist-notices' ),
|
'removeNotice' => esc_html__( 'Remove Notice', 'wp-fix-plugin-does-not-exist-notices' ),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@@ -176,14 +176,14 @@ class Fix_Plugin_Does_Not_Exist_Notices {
|
|||||||
'Name' => $plugin_name . ' <span class="error">(File Missing)</span>',
|
'Name' => $plugin_name . ' <span class="error">(File Missing)</span>',
|
||||||
/* translators: %s: Path to wp-content/plugins */
|
/* translators: %s: Path to wp-content/plugins */
|
||||||
'Description' => sprintf(
|
'Description' => sprintf(
|
||||||
__( '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.', '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>'
|
'<code>/wp-content/plugins/</code>'
|
||||||
),
|
),
|
||||||
'Version' => __( 'N/A', 'fix-plugin-does-not-exist-notices' ),
|
'Version' => FPDEN_VERSION, // Use our plugin version instead of 'N/A'
|
||||||
'Author' => '',
|
'Author' => '',
|
||||||
'PluginURI' => '',
|
'PluginURI' => '',
|
||||||
'AuthorURI' => '',
|
'AuthorURI' => '',
|
||||||
'Title' => $plugin_name . ' (' . __( 'Missing', 'fix-plugin-does-not-exist-notices' ) . ')',
|
'Title' => $plugin_name . ' (' . __( 'Missing', 'wp-fix-plugin-does-not-exist-notices' ) . ')',
|
||||||
'AuthorName' => '',
|
'AuthorName' => '',
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -223,8 +223,8 @@ class Fix_Plugin_Does_Not_Exist_Notices {
|
|||||||
$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 );
|
||||||
/* translators: %s: Plugin file path */
|
/* translators: %s: Plugin file path */
|
||||||
$aria_label = sprintf( __( 'Remove reference to missing plugin %s', 'fix-plugin-does-not-exist-notices' ), esc_attr( $plugin_file ) );
|
$aria_label = sprintf( __( 'Remove reference to missing plugin %s', 'wp-fix-plugin-does-not-exist-notices' ), esc_attr( $plugin_file ) );
|
||||||
$actions['remove_reference'] = '<a href="' . esc_url( $remove_url ) . '" class="delete" aria-label="' . $aria_label . '">' . esc_html__( 'Remove Notice', 'fix-plugin-does-not-exist-notices' ) . '</a>';
|
$actions['remove_reference'] = '<a href="' . esc_url( $remove_url ) . '" class="delete" aria-label="' . $aria_label . '">' . esc_html__( 'Remove Notice', 'wp-fix-plugin-does-not-exist-notices' ) . '</a>';
|
||||||
}
|
}
|
||||||
|
|
||||||
return $actions;
|
return $actions;
|
||||||
@@ -246,13 +246,13 @@ class Fix_Plugin_Does_Not_Exist_Notices {
|
|||||||
|
|
||||||
// Verify user permissions.
|
// Verify user permissions.
|
||||||
if ( ! current_user_can( 'activate_plugins' ) ) {
|
if ( ! current_user_can( 'activate_plugins' ) ) {
|
||||||
wp_die( esc_html__( 'You do not have sufficient permissions to perform this action.', 'fix-plugin-does-not-exist-notices' ) );
|
wp_die( esc_html__( 'You do not have sufficient permissions to perform this action.', 'wp-fix-plugin-does-not-exist-notices' ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sanitize and get the plugin file path.
|
// Sanitize and get the plugin file path.
|
||||||
$plugin_file = isset( $_GET['plugin'] ) ? sanitize_text_field( wp_unslash( $_GET['plugin'] ) ) : '';
|
$plugin_file = isset( $_GET['plugin'] ) ? sanitize_text_field( wp_unslash( $_GET['plugin'] ) ) : '';
|
||||||
if ( empty( $plugin_file ) ) {
|
if ( empty( $plugin_file ) ) {
|
||||||
wp_die( esc_html__( 'Invalid plugin specified.', 'fix-plugin-does-not-exist-notices' ) );
|
wp_die( esc_html__( 'Invalid plugin specified.', 'wp-fix-plugin-does-not-exist-notices' ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Verify nonce for security.
|
// Verify nonce for security.
|
||||||
@@ -328,7 +328,7 @@ class Fix_Plugin_Does_Not_Exist_Notices {
|
|||||||
if ( isset( $_GET['reference_removed'] ) && '1' === $_GET['reference_removed'] ) {
|
if ( isset( $_GET['reference_removed'] ) && '1' === $_GET['reference_removed'] ) {
|
||||||
?>
|
?>
|
||||||
<div class="notice notice-success is-dismissible">
|
<div class="notice notice-success is-dismissible">
|
||||||
<p><?php esc_html_e( 'Plugin reference removed successfully.', 'fix-plugin-does-not-exist-notices' ); ?></p>
|
<p><?php esc_html_e( 'Plugin reference removed successfully.', 'wp-fix-plugin-does-not-exist-notices' ); ?></p>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
@@ -336,7 +336,7 @@ class Fix_Plugin_Does_Not_Exist_Notices {
|
|||||||
if ( isset( $_GET['reference_removal_failed'] ) && '1' === $_GET['reference_removal_failed'] ) {
|
if ( isset( $_GET['reference_removal_failed'] ) && '1' === $_GET['reference_removal_failed'] ) {
|
||||||
?>
|
?>
|
||||||
<div class="notice notice-error is-dismissible">
|
<div class="notice notice-error is-dismissible">
|
||||||
<p><?php esc_html_e( 'Failed to remove plugin reference. The plugin may already have been removed, or there was a database issue.', 'fix-plugin-does-not-exist-notices' ); ?></p>
|
<p><?php esc_html_e( 'Failed to remove plugin reference. The plugin may already have been removed, or there was a database issue.', 'wp-fix-plugin-does-not-exist-notices' ); ?></p>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user