Compare commits

...

18 Commits

Author SHA1 Message Date
60c2115916 Merge pull request 'v1.6.4' (#4) from v1.6.4 into main
Some checks are pending
ci/woodpecker/push/woodpecker Pipeline is pending
Reviewed-on: wpallstars/fix-plugin-does-not-exist-notices#4
2025-04-12 00:50:49 +00:00
843f86be85 Prepare release v1.6.4
Some checks failed
Build Release / Build and Create Release (push) Has been cancelled
Build Release / Deploy to WordPress.org (push) Has been cancelled
ci/woodpecker/push/woodpecker Pipeline failed
ci/woodpecker/tag/woodpecker Pipeline failed
2025-04-12 01:49:51 +01:00
a4966ce897 Add PHPDoc annotations to suppress Intelephense warnings in main plugin file
Some checks failed
Build Release / Build and Create Release (push) Has been cancelled
Build Release / Deploy to WordPress.org (push) Has been cancelled
ci/woodpecker/push/woodpecker Pipeline failed
ci/woodpecker/tag/woodpecker Pipeline failed
2025-04-12 01:36:31 +01:00
0e09e70c90 Add PHPDoc annotations to suppress Intelephense warnings
Some checks failed
ci/woodpecker/push/woodpecker Pipeline is pending
ci/woodpecker/tag/woodpecker Pipeline is pending
Build Release / Build and Create Release (push) Has been cancelled
Build Release / Deploy to WordPress.org (push) Has been cancelled
2025-04-12 01:33:08 +01:00
0a98ba8c2e Fix namespace issues in Updater.php
Some checks failed
ci/woodpecker/push/woodpecker Pipeline is pending
ci/woodpecker/tag/woodpecker Pipeline is pending
Build Release / Build and Create Release (push) Has been cancelled
Build Release / Deploy to WordPress.org (push) Has been cancelled
2025-04-12 01:20:15 +01:00
35534aa246 Update namespace from 'WPAllStars' to 'WPALLSTARS' and ensure README.md changelog is in sync
Some checks failed
ci/woodpecker/push/woodpecker Pipeline is pending
ci/woodpecker/tag/woodpecker Pipeline is pending
Build Release / Build and Create Release (push) Has been cancelled
Build Release / Deploy to WordPress.org (push) Has been cancelled
2025-04-12 01:13:13 +01:00
97901dfdfe Update organization name from 'WP All Stars' to 'WP ALLSTARS'
Some checks failed
ci/woodpecker/push/woodpecker Pipeline is pending
ci/woodpecker/tag/woodpecker Pipeline is pending
Build Release / Build and Create Release (push) Has been cancelled
Build Release / Deploy to WordPress.org (push) Has been cancelled
2025-04-12 01:08:23 +01:00
ca94605ae8 Merge pull request 'v1.6.3' (#3) from v1.6.3 into main
Some checks are pending
ci/woodpecker/push/woodpecker Pipeline is pending
Reviewed-on: wpallstars/fix-plugin-does-not-exist-notices#3
2025-04-11 23:52:20 +00:00
e3319c4959 Update README.md and improve .ai-assistant.md documentation
Some checks failed
ci/woodpecker/push/woodpecker Pipeline is pending
ci/woodpecker/tag/woodpecker Pipeline is pending
Build Release / Build and Create Release (push) Has been cancelled
Build Release / Deploy to WordPress.org (push) Has been cancelled
2025-04-12 00:50:49 +01:00
e7e831d8b5 Prepare release v1.6.3 with fixed Git Updater repository URLs
Some checks failed
ci/woodpecker/push/woodpecker Pipeline is pending
ci/woodpecker/tag/woodpecker Pipeline is pending
Build Release / Build and Create Release (push) Has been cancelled
Build Release / Deploy to WordPress.org (push) Has been cancelled
2025-04-12 00:47:23 +01:00
ad3821d7aa Merge pull request 'v1.6.2' (#2) from v1.6.2 into main
Some checks failed
ci/woodpecker/push/woodpecker Pipeline is pending
Plugin Asset Update / Push assets to WordPress.org (push) Has been cancelled
Reviewed-on: wpallstars/fix-plugin-does-not-exist-notices#2
2025-04-11 23:44:53 +00:00
84111171f4 Merge pull request 'v1.6.1' (#1) from v1.6.1 into main
Some checks failed
ci/woodpecker/push/woodpecker Pipeline is pending
Plugin Asset Update / Push assets to WordPress.org (push) Has been cancelled
Reviewed-on: wpallstars/fix-plugin-does-not-exist-notices#1
2025-04-11 23:44:35 +00:00
9c557bc46d Fix Git Updater configuration with correct Update URI and server URL
Some checks failed
Build Release / Build and Create Release (push) Has been cancelled
Build Release / Deploy to WordPress.org (push) Has been cancelled
ci/woodpecker/push/woodpecker Pipeline is running
ci/woodpecker/tag/woodpecker Pipeline failed
2025-04-12 00:40:22 +01:00
0fa1e048ef Prepare release v1.6.2 with improved localization and WordPress.org readiness
Some checks failed
ci/woodpecker/push/woodpecker Pipeline is pending
ci/woodpecker/tag/woodpecker Pipeline is pending
Build Release / Build and Create Release (push) Has been cancelled
Build Release / Deploy to WordPress.org (push) Has been cancelled
2025-04-12 00:29:47 +01:00
91e1da9d05 Prepare release v1.6.1
Some checks failed
Build Release / Build and Create Release (push) Has been cancelled
Build Release / Deploy to WordPress.org (push) Has been cancelled
ci/woodpecker/push/woodpecker Pipeline failed
ci/woodpecker/tag/woodpecker Pipeline failed
2025-04-12 00:14:02 +01:00
08616164e9 Add AI assistant guide and workflow documentation
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2025-04-12 00:09:55 +01:00
22d13ef8aa Add Git Updater support with smart source detection
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-12 00:03:10 +01:00
322cada133 Add translation support and internationalization improvements
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 23:49:22 +01:00
15 changed files with 1337 additions and 44 deletions

195
.ai-assistant.md Normal file
View File

@ -0,0 +1,195 @@
# AI Assistant Guide for Fix Plugin Does Not Exist Notices
This guide helps AI assistants understand the project structure, workflows, and best practices for this repository.
## Project Overview
- **Plugin Name**: Fix 'Plugin file does not exist.' Notices
- **Repository**: https://github.com/wpallstars/fix-plugin-does-not-exist-notices
- **Description**: WordPress plugin that adds missing plugins to the plugins list with a "Remove Reference" link to clean up invalid plugin entries and remove error notices.
## Version Management
### Version Numbering Convention
We follow [Semantic Versioning](https://semver.org/):
- **MAJOR.MINOR.PATCH** (e.g., 1.6.0)
- **MAJOR**: Breaking changes
- **MINOR**: New features, non-breaking
- **PATCH**: Bug fixes, non-breaking
### When to Increment Version Numbers
- **PATCH** (1.6.0 → 1.6.1):
- Bug fixes
- Small text changes
- Minor improvements that don't add new features
- **MINOR** (1.6.0 → 1.7.0):
- New features
- Significant improvements to existing functionality
- Deprecation of features (but not removal)
- **MAJOR** (1.6.0 → 2.0.0):
- Breaking changes
- Removal of features
- Major architectural changes
### Version Update Checklist
When updating the version number, always update these files:
1. `fix-plugin-does-not-exist-notices.php` (Plugin header)
2. `CHANGELOG.md` (Add new version section)
3. `readme.txt` (Stable tag and Changelog section)
4. `README.md` (Update Changelog section to match readme.txt)
5. Update `FPDEN_VERSION` constant in the main plugin file
**IMPORTANT**: Always ensure README.md is kept in sync with readme.txt for consistency across platforms.
## Git Workflow
### Branch Naming Convention
- Feature branches: `feature/descriptive-name`
- Bug fix branches: `fix/issue-description`
- Release branches: `v{MAJOR}.{MINOR}.{PATCH}`
### Commit Message Guidelines
- Use present tense ("Add feature" not "Added feature")
- Start with a verb
- Keep the first line under 50 characters
- Reference issues when relevant: "Fix #123: Resolve plugin detection issue"
### Pre-Release Checklist
Before creating a new release, verify the following:
- [ ] Determine the correct version increment (MAJOR, MINOR, or PATCH) based on the changes
- [ ] Ensure all changes are documented in CHANGELOG.md
- [ ] Verify all code changes are tested and working correctly
- [ ] Check that all files are properly formatted and follow WordPress coding standards
- [ ] Ensure Git Updater configuration is correct (if applicable)
### Release Process
1. Create a new branch for the version: `git checkout -b v{MAJOR}.{MINOR}.{PATCH}`
2. Update version numbers in ALL required files:
- `fix-plugin-does-not-exist-notices.php` (Plugin header)
- `FPDEN_VERSION` constant in the main plugin file
- `readme.txt` (Stable tag)
- `README.md` (Ensure changelog is updated)
- Any other files that reference the version number
3. Update CHANGELOG.md with all changes
4. Update readme.txt changelog section
5. Update README.md changelog section to match readme.txt
6. Commit changes: `git commit -m "Prepare release v{MAJOR}.{MINOR}.{PATCH}"`
7. Push branch to all remotes:
```
git push github HEAD:v{MAJOR}.{MINOR}.{PATCH}
git push gitea HEAD:v{MAJOR}.{MINOR}.{PATCH}
```
8. Create and push a tag to trigger the GitHub Actions workflow:
```
git tag -a v{MAJOR}.{MINOR}.{PATCH} -m "Release version {MAJOR}.{MINOR}.{PATCH}"
git push github refs/tags/v{MAJOR}.{MINOR}.{PATCH}
git push gitea refs/tags/v{MAJOR}.{MINOR}.{PATCH}
```
9. Verify the GitHub Actions workflow completes successfully
## Build Process
The build process is handled by `build.sh`:
1. Updates version numbers
2. Installs composer dependencies
3. Copies files to build directory
4. Creates ZIP file
To manually build the plugin:
```
./build.sh {MAJOR}.{MINOR}.{PATCH}
```
## Remote Repositories
The plugin is hosted on multiple repositories:
- GitHub: https://github.com/wpallstars/fix-plugin-does-not-exist-notices
- Gitea: https://gitea.wpallstars.com/wpallstars/fix-plugin-does-not-exist-notices
- WordPress.org: https://wordpress.org/plugins/fix-plugin-does-not-exist-notices/
Always push changes to all remotes to keep them in sync.
## GitHub Actions
The repository uses GitHub Actions for automated builds and deployments:
- Triggered by tags matching the pattern `v*`
- Builds the plugin
- Creates a GitHub release
- Deploys to WordPress.org
## Testing Guidelines
Before releasing:
1. Test with the latest WordPress version
2. Test with PHP 7.0+ (minimum supported version)
3. Verify all features work as expected
4. Check for any PHP warnings or notices
## Common Tasks for AI Assistants
### Creating a New Release
```
# 1. Create a new branch
git checkout -b v1.7.0
# 2. Update version numbers in ALL required files
# - fix-plugin-does-not-exist-notices.php
# - CHANGELOG.md
# - readme.txt
# - README.md
# - FPDEN_VERSION constant
# 3. Commit changes
git add .
git commit -m "Prepare release v1.7.0"
# 4. Push to remotes
git push github HEAD:v1.7.0
git push gitea HEAD:v1.7.0
# 5. Create and push tag
git tag -a v1.7.0 -m "Release version 1.7.0"
git push github refs/tags/v1.7.0
git push gitea refs/tags/v1.7.0
```
### Adding a New Feature
```
# 1. Create feature branch
git checkout -b feature/new-feature-name
# 2. Make changes and commit
git add .
git commit -m "Add new feature"
# 3. Push to remotes
git push github HEAD:feature/new-feature-name
git push gitea HEAD:feature/new-feature-name
```
### Fixing a Bug
```
# 1. Create bugfix branch
git checkout -b fix/bug-description
# 2. Make changes and commit
git add .
git commit -m "Fix #123: Fix bug description"
# 3. Push to remotes
git push github HEAD:fix/bug-description
git push gitea HEAD:fix/bug-description
```

160
.github/ai-workflows/bug-fixing.md vendored Normal file
View File

@ -0,0 +1,160 @@
# Bug Fixing Guide for AI Assistants
This document provides guidance for AI assistants to help with bug fixing for the Fix Plugin Does Not Exist Notices plugin.
## Bug Fixing Workflow
### 1. Create a Bug Fix Branch
Always start by creating a bug fix branch from the main branch:
```bash
git checkout main
git pull github main
git checkout -b fix/bug-description
```
Use a descriptive name that clearly indicates what bug is being fixed.
### 2. Understand the Bug
Before fixing a bug, make sure you understand:
- What is the expected behavior?
- What is the actual behavior?
- What are the steps to reproduce the bug?
- What is the impact of the bug?
- What is the root cause of the bug?
### 3. Fix the Bug
When fixing a bug:
- Make minimal changes necessary to fix the bug
- Avoid introducing new features while fixing bugs
- Maintain backward compatibility
- Add appropriate comments explaining the fix
- Consider adding tests to prevent regression
### 4. Update Documentation
Update relevant documentation to reflect the bug fix:
- Add a description to CHANGELOG.md under an "Unreleased" section
- Update readme.txt if the bug fix affects user-facing functionality
### 5. Testing
Test the bug fix thoroughly:
- Verify that the bug is fixed
- Ensure no regression in related functionality
- Test with the latest WordPress version
- Test with the minimum supported WordPress version (5.0)
- Test with PHP 7.0+ (minimum supported version)
### 6. Commit Changes
Make atomic commits with clear messages:
```bash
git add .
git commit -m "Fix #123: Brief description of the bug fix"
```
If there's an issue number, reference it in the commit message.
### 7. Push to Remote
Push the bug fix branch to the remote repositories:
```bash
git push github HEAD:fix/bug-description
git push gitea HEAD:fix/bug-description
```
### 8. Create Pull Request (Optional)
If the repository uses pull requests for code review, create a pull request from the bug fix branch to the main branch.
## Determining Version Increment
After fixing a bug, determine the appropriate version increment:
- **PATCH** (e.g., 1.6.0 → 1.6.1): For most bug fixes that don't change functionality
- **MINOR** (e.g., 1.6.0 → 1.7.0): For bug fixes that introduce new features or significant changes
- **MAJOR** (e.g., 1.6.0 → 2.0.0): For bug fixes that introduce breaking changes
## Hotfix Process
For critical bugs that need immediate fixing in a released version:
### 1. Create a Hotfix Branch
```bash
git checkout v{MAJOR}.{MINOR}.{PATCH}
git checkout -b hotfix/v{MAJOR}.{MINOR}.{PATCH+1}
```
### 2. Fix the Bug
Apply the minimal fix necessary to address the critical issue.
### 3. Update Version Numbers
Increment the PATCH version and update all version numbers:
- Main plugin file (fix-plugin-does-not-exist-notices.php)
- FPDEN_VERSION constant
- CHANGELOG.md
- readme.txt
### 4. Commit and Push
```bash
git add .
git commit -m "Hotfix: Brief description of the critical bug fix"
git push github HEAD:hotfix/v{MAJOR}.{MINOR}.{PATCH+1}
git push gitea HEAD:hotfix/v{MAJOR}.{MINOR}.{PATCH+1}
```
### 5. Create and Push Tag
```bash
git tag -a v{MAJOR}.{MINOR}.{PATCH+1} -m "Hotfix release version {MAJOR}.{MINOR}.{PATCH+1}"
git push github refs/tags/v{MAJOR}.{MINOR}.{PATCH+1}
git push gitea refs/tags/v{MAJOR}.{MINOR}.{PATCH+1}
```
## Common Bug Types and Fixing Strategies
### WordPress Compatibility Issues
- Test with the specific WordPress version where the issue occurs
- Check for deprecated functions or hooks
- Review WordPress changelog for relevant changes
### PHP Compatibility Issues
- Test with the specific PHP version where the issue occurs
- Check for deprecated PHP functions or features
- Use appropriate polyfills if necessary
### JavaScript Issues
- Test in different browsers
- Check for browser console errors
- Consider browser-specific workarounds if necessary
### CSS Issues
- Test in different browsers and screen sizes
- Use browser developer tools to inspect elements
- Consider browser-specific workarounds if necessary
### Database Issues
- Use proper database prefixing
- Sanitize database inputs
- Use prepared statements for queries
- Consider database version differences

163
.github/ai-workflows/code-review.md vendored Normal file
View File

@ -0,0 +1,163 @@
# Code Review Guide for AI Assistants
This document provides guidance for AI assistants to help with code review for the Fix Plugin Does Not Exist Notices plugin.
## Code Review Checklist
When reviewing code, check for the following:
### Functionality
- [ ] Does the code work as expected?
- [ ] Does it handle edge cases appropriately?
- [ ] Are there any logical errors?
- [ ] Is error handling implemented properly?
### Code Quality
- [ ] Does the code follow WordPress coding standards?
- [ ] Is the code well-organized and easy to understand?
- [ ] Are there any code smells (duplicate code, overly complex functions, etc.)?
- [ ] Are functions and variables named appropriately?
- [ ] Are there appropriate comments and documentation?
### Security
- [ ] Is user input properly validated and sanitized?
- [ ] Is output properly escaped?
- [ ] Are capability checks used for user actions?
- [ ] Are nonces used for form submissions?
- [ ] Are there any potential SQL injection vulnerabilities?
- [ ] Are there any potential XSS vulnerabilities?
### Performance
- [ ] Are there any performance bottlenecks?
- [ ] Are database queries optimized?
- [ ] Is caching used appropriately?
- [ ] Are assets (CSS, JS) properly enqueued?
### Compatibility
- [ ] Is the code compatible with the minimum supported WordPress version (5.0)?
- [ ] Is the code compatible with the minimum supported PHP version (7.0)?
- [ ] Are there any browser compatibility issues?
- [ ] Are there any conflicts with other plugins?
### Internationalization
- [ ] Are all user-facing strings translatable?
- [ ] Is the correct text domain used?
- [ ] Are translation functions used correctly?
### Accessibility
- [ ] Does the code follow accessibility best practices?
- [ ] Are ARIA attributes used appropriately?
- [ ] Is keyboard navigation supported?
- [ ] Is screen reader support implemented?
## Code Review Process
### 1. Understand the Context
Before reviewing code, understand:
- What problem is the code trying to solve?
- What are the requirements?
- What are the constraints?
### 2. Review the Code
Review the code with the checklist above in mind.
### 3. Provide Feedback
When providing feedback:
- Be specific and clear
- Explain why a change is needed
- Provide examples or suggestions when possible
- Prioritize feedback (critical issues vs. minor improvements)
- Be constructive and respectful
### 4. Follow Up
After the code has been updated:
- Review the changes
- Verify that issues have been addressed
- Provide additional feedback if necessary
## Common Issues to Look For
### PHP Issues
- Undefined variables or functions
- Incorrect function parameters
- Missing return statements
- Improper error handling
- Inefficient loops or conditionals
- Hardcoded values that should be configurable
### WordPress-Specific Issues
- Incorrect hook usage
- Missing or incorrect nonces
- Missing capability checks
- Direct database queries instead of using WordPress functions
- Improper enqueuing of scripts and styles
- Not using WordPress functions for common tasks
### JavaScript Issues
- Undefined variables or functions
- Event listener memory leaks
- jQuery conflicts
- Browser compatibility issues
- Missing error handling
### CSS Issues
- Browser compatibility issues
- Specificity issues
- Unused styles
- Overriding WordPress admin styles inappropriately
## Example Feedback
### Good Feedback Example
```
In function `handle_remove_reference()`:
1. The nonce check is missing, which could lead to CSRF vulnerabilities.
Consider adding:
```php
if (!isset($_GET['_wpnonce']) || !wp_verify_nonce($_GET['_wpnonce'], 'fpden_remove_reference')) {
wp_die(__('Security check failed.', 'fix-plugin-does-not-exist-notices'));
}
```
2. The user capability check should be more specific. Instead of:
```php
if (!current_user_can('manage_options')) {
```
Consider using:
```php
if (!current_user_can('activate_plugins')) {
```
This is more appropriate for the action being performed.
3. The success message should be translatable:
```php
// Change this:
add_settings_error('fpden', 'fpden_removed', 'Plugin reference removed successfully.', 'updated');
// To this:
add_settings_error('fpden', 'fpden_removed', __('Plugin reference removed successfully.', 'fix-plugin-does-not-exist-notices'), 'updated');
```
```
### Poor Feedback Example
```
This code has security issues and doesn't follow best practices. Fix it.
```

View File

@ -0,0 +1,130 @@
# Feature Development Guide for AI Assistants
This document provides guidance for AI assistants to help with feature development for the Fix Plugin Does Not Exist Notices plugin.
## Feature Development Workflow
### 1. Create a Feature Branch
Always start by creating a feature branch from the main branch:
```bash
git checkout main
git pull github main
git checkout -b feature/descriptive-name
```
Use a descriptive name that clearly indicates what the feature is about.
### 2. Implement the Feature
When implementing a new feature:
- Follow WordPress coding standards
- Ensure all strings are translatable
- Add appropriate comments
- Consider performance implications
- Maintain backward compatibility
### 3. Update Documentation
Update relevant documentation to reflect the new feature:
- Add a description to CHANGELOG.md under an "Unreleased" section
- Update readme.txt if the feature affects user-facing functionality
- Update inline documentation/comments
### 4. Testing
Test the feature thoroughly:
- Test with the latest WordPress version
- Test with the minimum supported WordPress version (5.0)
- Test with PHP 7.0+ (minimum supported version)
- Test in different environments (if possible)
### 5. Commit Changes
Make atomic commits with clear messages:
```bash
git add .
git commit -m "Add feature: descriptive name"
```
### 6. Push to Remote
Push the feature branch to the remote repositories:
```bash
git push github HEAD:feature/descriptive-name
git push gitea HEAD:feature/descriptive-name
```
### 7. Create Pull Request (Optional)
If the repository uses pull requests for code review, create a pull request from the feature branch to the main branch.
## Code Standards and Best Practices
### PHP Coding Standards
- Follow [WordPress PHP Coding Standards](https://developer.wordpress.org/coding-standards/wordpress-coding-standards/php/)
- Use tabs for indentation, not spaces
- Use proper naming conventions:
- Class names: `Class_Name`
- Function names: `function_name`
- Variable names: `$variable_name`
### JavaScript Coding Standards
- Follow [WordPress JavaScript Coding Standards](https://developer.wordpress.org/coding-standards/wordpress-coding-standards/javascript/)
- Use tabs for indentation, not spaces
- Use proper naming conventions:
- Function names: `functionName`
- Variable names: `variableName`
### Internationalization (i18n)
- Wrap all user-facing strings in appropriate translation functions:
- `__()` for simple strings
- `_e()` for echoed strings
- `esc_html__()` for escaped strings
- `esc_html_e()` for escaped and echoed strings
- Always use the plugin's text domain: `fix-plugin-does-not-exist-notices`
### Security Best Practices
- Validate and sanitize all input
- Escape all output
- Use nonces for form submissions
- Use capability checks for user actions
## Feature Types and Implementation Guidelines
### Admin Interface Features
When adding features to the admin interface:
- Use WordPress admin UI components for consistency
- Follow WordPress admin UI patterns
- Ensure accessibility compliance
- Add appropriate help text
### Plugin Functionality Features
When adding core functionality:
- Ensure compatibility with WordPress hooks system
- Consider performance impact
- Maintain backward compatibility
- Add appropriate error handling
### Integration Features
When adding integration with other plugins or services:
- Make integrations optional when possible
- Check if the integrated plugin/service is available before using it
- Provide fallback functionality when the integration is not available
- Document the integration requirements

173
.github/ai-workflows/release-process.md vendored Normal file
View File

@ -0,0 +1,173 @@
# Release Process for AI Assistants
This document provides step-by-step instructions for AI assistants to help with the release process for the Fix Plugin Does Not Exist Notices plugin.
## Pre-Release Checklist
- [ ] All features for this release are complete
- [ ] All bug fixes for this release are complete
- [ ] CHANGELOG.md is up to date
- [ ] readme.txt is up to date
- [ ] All tests pass
## Determining the New Version Number
Based on the changes made, determine the appropriate version increment:
1. **PATCH** (e.g., 1.6.0 → 1.6.1): For bug fixes and minor improvements
2. **MINOR** (e.g., 1.6.0 → 1.7.0): For new features and significant improvements
3. **MAJOR** (e.g., 1.6.0 → 2.0.0): For breaking changes
## Release Steps
### 1. Create a New Branch
```bash
git checkout -b v{MAJOR}.{MINOR}.{PATCH}
```
Example:
```bash
git checkout -b v1.7.0
```
### 2. Update Version Numbers
Update the version number in the following files:
#### a. Main Plugin File (fix-plugin-does-not-exist-notices.php)
```php
/**
* Plugin Name: Fix 'Plugin file does not exist.' Notices
* Plugin URI: https://wordpress.org/plugins/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: {MAJOR}.{MINOR}.{PATCH}
* ...
*/
```
Also update the FPDEN_VERSION constant:
```php
define( 'FPDEN_VERSION', '{MAJOR}.{MINOR}.{PATCH}' );
```
#### b. CHANGELOG.md
Add a new section at the top of the CHANGELOG.md file:
```markdown
## [{MAJOR}.{MINOR}.{PATCH}] - YYYY-MM-DD
### Added
- New feature 1
- New feature 2
### Changed
- Change 1
- Change 2
### Fixed
- Bug fix 1
- Bug fix 2
```
#### c. readme.txt
Update the stable tag:
```
Stable tag: {MAJOR}.{MINOR}.{PATCH}
```
Add a new entry to the changelog section:
```
= {MAJOR}.{MINOR}.{PATCH} =
* New feature 1
* New feature 2
* Change 1
* Change 2
* Fixed bug 1
* Fixed bug 2
```
Update the upgrade notice section:
```
= {MAJOR}.{MINOR}.{PATCH} =
Brief description of the most important changes in this release
```
### 3. Commit Changes
```bash
git add fix-plugin-does-not-exist-notices.php CHANGELOG.md readme.txt
git commit -m "Prepare release v{MAJOR}.{MINOR}.{PATCH}"
```
### 4. Push Branch to Remotes
```bash
git push github HEAD:v{MAJOR}.{MINOR}.{PATCH}
git push gitea HEAD:v{MAJOR}.{MINOR}.{PATCH}
```
### 5. Create and Push Tag
```bash
git tag -a v{MAJOR}.{MINOR}.{PATCH} -m "Release version {MAJOR}.{MINOR}.{PATCH}"
git push github refs/tags/v{MAJOR}.{MINOR}.{PATCH}
git push gitea refs/tags/v{MAJOR}.{MINOR}.{PATCH}
```
### 6. Monitor GitHub Actions
Open the GitHub Actions page to monitor the build and deployment process:
https://github.com/wpallstars/fix-plugin-does-not-exist-notices/actions
### 7. Verify Release
- [ ] Check that the GitHub release was created successfully
- [ ] Verify that the plugin was deployed to WordPress.org
- [ ] Test the plugin from WordPress.org to ensure it works correctly
## Rollback Procedure (If Needed)
If issues are discovered after release:
### 1. Create a Hotfix Branch
```bash
git checkout v{MAJOR}.{MINOR}.{PATCH}
git checkout -b hotfix/v{MAJOR}.{MINOR}.{PATCH+1}
```
### 2. Fix the Issues
Make the necessary changes to fix the issues.
### 3. Update Version Numbers
Increment the PATCH version and update all version numbers as described above.
### 4. Commit and Push
```bash
git add .
git commit -m "Fix issues in v{MAJOR}.{MINOR}.{PATCH}"
git push github HEAD:hotfix/v{MAJOR}.{MINOR}.{PATCH+1}
git push gitea HEAD:hotfix/v{MAJOR}.{MINOR}.{PATCH+1}
```
### 5. Create and Push Tag
```bash
git tag -a v{MAJOR}.{MINOR}.{PATCH+1} -m "Hotfix release version {MAJOR}.{MINOR}.{PATCH+1}"
git push github refs/tags/v{MAJOR}.{MINOR}.{PATCH+1}
git push gitea refs/tags/v{MAJOR}.{MINOR}.{PATCH+1}
```
### 6. Monitor and Verify
Follow steps 6 and 7 from the release process to monitor and verify the hotfix release.

6
.gitignore vendored
View File

@ -29,6 +29,10 @@ bower_components/
composer.lock
package-lock.json
# Composer
vendor/
composer.phar
# Build files
build/
dist/
@ -76,4 +80,4 @@ codecov.yml
webpack.config.js
gulpfile.js
Gruntfile.js
*.zip
*.zip

View File

@ -2,6 +2,51 @@
All notable changes to this project will be documented in this file.
## [1.6.4] - 2024-05-16
### Improved
- Version management to ensure consistent patch version increments
- Documentation for version update process
- AI workflow files with detailed version increment instructions
## [1.6.3] - 2024-05-15
### Fixed
- Git Updater repository URLs to use full repository paths
- Update URI configuration for proper update detection
- Version management following semantic versioning
### Changed
- Updated organization name from 'WP All Stars' to 'WP ALLSTARS'
- Updated namespace from 'WPAllStars' to 'WPALLSTARS'
## [1.6.2] - 2024-05-15
### Changed
- Updated POT file version for consistency
- Improved JavaScript localization with proper fallbacks
- Enhanced code quality for WordPress.org submission
### Added
- Git Updater configuration with Update URI
- Update server URL configuration
## [1.6.1] - 2024-05-15
### Added
- AI assistant guide and workflow documentation
- Detailed release process documentation
- Feature development guidelines
- Bug fixing procedures
- Code review standards
## [1.6.0] - 2024-05-15
### Added
- Full translation support with POT file
- JavaScript localization for better multilingual support
- Plugin constants for improved code organization
- Git Updater support for updates from GitHub and Gitea
### Changed
- Updated code to follow WordPress internationalization best practices
- Improved asset loading with version constants
- Smart update detection based on installation source
## [1.5.0] - 2024-05-15
### Added
- Improved compatibility with WordPress 6.4

View File

@ -120,35 +120,46 @@ The plugin works by:
## Changelog
### 1.4.1
- Added FAQ about keeping the plugin installed after notices are cleared
### 1.6.4
* Updated version management to ensure consistent patch version increments
* Improved documentation for version update process
* Enhanced AI workflow files with detailed version increment instructions
### 1.4.0
- Updated plugin name and text domain
- Repository rename from plugin-reference-cleaner to fix-plugin-does-not-exist-notices
### 1.6.3
* Fixed Git Updater repository URLs to use full repository paths
* Corrected Update URI configuration for proper update detection
* Improved version management following semantic versioning
* Updated organization name from 'WP All Stars' to 'WP ALLSTARS'
* Updated namespace from 'WPAllStars' to 'WPALLSTARS'
### 1.3.3
* Improved notification placement next to WordPress error messages
* Added "Click here to scroll" button that automatically locates missing plugins
* Enhanced reliability with multiple injection methods
* Added visual arrow pointing from notification to error message
### 1.6.2
* Updated POT file version for consistency
* Improved JavaScript localization with proper fallbacks
* Enhanced code quality for WordPress.org submission
* Added Git Updater configuration with Update URI
* Added update server URL configuration
### 1.3.2
* Added prominent notification directly below WordPress error messages
* Improved user guidance with visual cues to connect error and solution
* Added eye-catching styling to help users understand how to fix errors
### 1.6.1
* Added AI assistant guide and workflow documentation
* Added detailed release process documentation
* Added feature development guidelines
* Added bug fixing procedures
* Added code review standards
### 1.3.1
* Added instructional notification explaining how to use the plugin
* Improved user guidance with step-by-step instructions
* Enhanced visual identification of missing plugins
### 1.6.0
* Added full translation support with POT file
* Added JavaScript localization for better multilingual support
* Added plugin constants for improved code organization
* Added Git Updater support for updates from GitHub and Gitea
* Updated code to follow WordPress internationalization best practices
* Improved asset loading with version constants
* Added smart update detection based on installation source
### 1.3.0
* Complete redesign for maximum compatibility with all WordPress themes
* Now adds missing plugins directly to the plugins list table
* Uses standard WordPress admin UI patterns instead of DOM manipulation
* Added "Remove Reference" action link in the plugins list
* Significantly improved reliability across all WordPress configurations
### 1.5.0
* Improved compatibility with WordPress 6.4
* Enhanced error detection for plugin references
* Minor UI improvements for better visibility
* Accessibility enhancements for screen readers
[View full changelog](CHANGELOG.md)
@ -158,4 +169,4 @@ This project is licensed under the GPL-2.0+ License - see the [LICENSE](LICENSE)
## Support
For support, please visit [WP All Stars](https://www.wpallstars.com).
For support, please visit [WP ALLSTARS](https://www.wpallstars.com).

View File

@ -18,11 +18,18 @@
var ourNotice = document.createElement('div');
ourNotice.className = 'prc-notice';
// Add content (using localized strings passed via wp_localize_script if needed, but simple for now)
// Add content using localized strings passed via wp_localize_script
var pluginMissingText = typeof fpdenData !== 'undefined' && fpdenData.i18n && fpdenData.i18n.pluginMissing ?
fpdenData.i18n.pluginMissing : 'Plugin file missing';
var removeReferenceText = typeof fpdenData !== 'undefined' && fpdenData.i18n && fpdenData.i18n.removeReference ?
fpdenData.i18n.removeReference : 'Remove Reference';
var clickToScrollText = typeof fpdenData !== 'undefined' && fpdenData.i18n && fpdenData.i18n.clickToScroll ?
fpdenData.i18n.clickToScroll : 'Click here to scroll to missing plugins';
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">(' + pluginMissingText + ')</strong>" and click its "<strong>' + removeReferenceText + '</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>';
'<p><a href="#" id="prc-scroll-to-plugin" style="font-weight:bold;text-decoration:underline;color:#826200;">' + clickToScrollText + '</a></p>';
// Insert our notice right after the error
notice.parentNode.insertBefore(ourNotice, notice.nextSibling);

View File

@ -18,6 +18,10 @@ ZIP_FILE="${PLUGIN_SLUG}-${VERSION}.zip"
echo "Creating build directory..."
mkdir -p $BUILD_DIR
# Install composer dependencies
echo "Installing composer dependencies..."
composer install --no-dev --optimize-autoloader
# Copy required files
echo "Copying plugin files..."
cp fix-plugin-does-not-exist-notices.php $BUILD_DIR/
@ -25,6 +29,18 @@ cp readme.txt $BUILD_DIR/
cp LICENSE $BUILD_DIR/
cp README.md $BUILD_DIR/
cp CHANGELOG.md $BUILD_DIR/
cp composer.json $BUILD_DIR/
# Copy directories
echo "Copying directories..."
mkdir -p $BUILD_DIR/includes
cp -r includes/* $BUILD_DIR/includes/
mkdir -p $BUILD_DIR/languages
cp -r languages/* $BUILD_DIR/languages/
mkdir -p $BUILD_DIR/assets
cp -r assets/* $BUILD_DIR/assets/
mkdir -p $BUILD_DIR/vendor
cp -r vendor/* $BUILD_DIR/vendor/
# Create ZIP file
echo "Creating ZIP file..."
@ -39,4 +55,4 @@ if [ -f "$ZIP_FILE" ]; then
else
echo "❌ Build failed: ZIP file was not created"
exit 1
fi
fi

21
composer.json Normal file
View File

@ -0,0 +1,21 @@
{
"name": "wpallstars/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.",
"type": "wordpress-plugin",
"license": "GPL-2.0-or-later",
"authors": [
{
"name": "Marcus Quinn",
"email": "6428977+marcusquinn@users.noreply.github.com"
}
],
"require": {
"php": ">=7.0",
"afragen/git-updater-lite": "^1"
},
"autoload": {
"psr-4": {
"WPAllStars\\FixPluginDoesNotExistNotices\\": "includes/"
}
}
}

View File

@ -4,13 +4,16 @@
*
* @package FixPluginDoesNotExistNotices
* @author Marcus Quinn
* @copyright 2023 WP All Stars
* @copyright 2023 WP ALLSTARS
* @license GPL-2.0+
* @noinspection PhpUndefinedFunctionInspection
* @noinspection PhpUndefinedConstantInspection
*
* @wordpress-plugin
* Plugin Name: Fix 'Plugin file does not exist.' Notices
* Plugin URI: https://wordpress.org/plugins/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: 1.5.0
* Version: 1.6.4
* Author: Marcus Quinn
* Author URI: https://www.wpallstars.com
* License: GPL-2.0+
@ -19,6 +22,11 @@
* Domain Path: /languages
* Requires at least: 5.0
* Requires PHP: 7.0
* Update URI: https://git-updater.wpallstars.com
* GitHub Plugin URI: wpallstars/fix-plugin-does-not-exist-notices
* GitHub Branch: main
* Gitea Plugin URI: wpallstars/fix-plugin-does-not-exist-notices
* Gitea Branch: main
*
* This plugin is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -39,6 +47,27 @@ if ( ! defined( 'ABSPATH' ) ) {
exit;
}
// Define plugin constants
define( 'FPDEN_VERSION', '1.6.4' );
define( 'FPDEN_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
define( 'FPDEN_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
define( 'FPDEN_PLUGIN_FILE', __FILE__ );
define( 'FPDEN_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
/**
* Load plugin text domain.
*
* @return void
*/
function fpden_load_textdomain() {
load_plugin_textdomain(
'fix-plugin-does-not-exist-notices',
false,
dirname( plugin_basename( __FILE__ ) ) . '/languages/'
);
}
add_action( 'plugins_loaded', 'fpden_load_textdomain' );
/**
* Main class for the plugin.
*/
@ -82,28 +111,33 @@ class Fix_Plugin_Does_Not_Exist_Notices {
return; // No missing plugins, no need for the special notice JS/CSS.
}
$plugin_url = plugin_dir_url( __FILE__ );
wp_enqueue_style(
'fpden-admin-styles',
$plugin_url . 'assets/css/admin-styles.css',
FPDEN_PLUGIN_URL . 'assets/css/admin-styles.css',
array(),
filemtime( plugin_dir_path( __FILE__ ) . 'assets/css/admin-styles.css' ) // Versioning based on file modification time.
FPDEN_VERSION
);
wp_enqueue_script(
'fpden-admin-scripts',
$plugin_url . 'assets/js/admin-scripts.js',
FPDEN_PLUGIN_URL . 'assets/js/admin-scripts.js',
array( 'jquery' ), // Add dependencies if needed, e.g., jQuery.
filemtime( plugin_dir_path( __FILE__ ) . 'assets/js/admin-scripts.js' ), // Versioning.
FPDEN_VERSION,
true // Load in footer.
);
// Optional: Pass localized data to script if needed.
// wp_localize_script('fpden-admin-scripts', 'fpdenData', array(
// 'ajax_url' => admin_url('admin-ajax.php'),
// 'nonce' => wp_create_nonce('fpden_ajax_nonce'),
// ));
// Add translation strings for JavaScript
wp_localize_script(
'fpden-admin-scripts',
'fpdenData',
array(
'i18n' => array(
'clickToScroll' => esc_html__( 'Click here to scroll to missing plugins', 'fix-plugin-does-not-exist-notices' ),
'pluginMissing' => esc_html__( 'Plugin file missing', 'fix-plugin-does-not-exist-notices' ),
'removeReference' => esc_html__( 'Remove Reference', 'fix-plugin-does-not-exist-notices' ),
),
)
);
}
/**
@ -159,6 +193,7 @@ class Fix_Plugin_Does_Not_Exist_Notices {
* @param array $plugin_data An array of plugin data.
* @param string $context The plugin context (e.g., 'all', 'active', 'inactive').
* @return array The potentially modified array of plugin action links.
* @noinspection PhpUnusedParameterInspection
*/
public function add_remove_reference_action( $actions, $plugin_file, $plugin_data, $context ) {
// Only run on the plugins page.
@ -369,3 +404,14 @@ class Fix_Plugin_Does_Not_Exist_Notices {
// Initialize the plugin class.
new Fix_Plugin_Does_Not_Exist_Notices();
// Initialize the updater if composer autoload exists
$autoloader = __DIR__ . '/vendor/autoload.php';
if (file_exists($autoloader)) {
require_once $autoloader;
// Initialize the updater if the class exists
if (class_exists('\WPALLSTARS\FixPluginDoesNotExistNotices\Updater')) {
new \WPALLSTARS\FixPluginDoesNotExistNotices\Updater(__FILE__);
}
}

158
includes/Updater.php Normal file
View File

@ -0,0 +1,158 @@
<?php
/**
* Plugin Updater
*
* @package FixPluginDoesNotExistNotices
* @noinspection PhpUndefinedFunctionInspection
* @noinspection PhpUndefinedClassInspection
*/
namespace WPALLSTARS\FixPluginDoesNotExistNotices;
/**
* Class Updater
*
* Handles plugin updates from different sources based on installation origin.
*/
class Updater {
/**
* Plugin file path
*
* @var string
*/
private $plugin_file;
/**
* Installation source
*
* @var string
*/
private $source;
/**
* Constructor
*
* @param string $plugin_file Main plugin file path.
*/
public function __construct($plugin_file) {
$this->plugin_file = $plugin_file;
$this->source = $this->determine_installation_source();
$this->init();
}
/**
* Initialize the updater based on the installation source
*
* @return void
*/
public function init() {
// Only initialize Git Updater if not installed from WordPress.org
if ($this->source !== 'wordpress.org') {
$this->init_git_updater();
}
}
/**
* Determine the installation source of the plugin
*
* @return string Installation source: 'github', 'gitea', or 'wordpress.org'
*/
private function determine_installation_source() {
// Default to WordPress.org
$source = 'wordpress.org';
// Check if the plugin was installed from GitHub
if ($this->is_github_installation()) {
$source = 'github';
}
// Check if the plugin was installed from Gitea
elseif ($this->is_gitea_installation()) {
$source = 'gitea';
}
return $source;
}
/**
* Check if the plugin was installed from GitHub
*
* @return bool
* @noinspection PhpUndefinedFunctionInspection
*/
private function is_github_installation() {
// Check for GitHub-specific markers in the plugin directory
$plugin_dir = \plugin_dir_path($this->plugin_file);
// Look for .git directory with GitHub remote
if (file_exists($plugin_dir . '.git')) {
$git_config = @file_get_contents($plugin_dir . '.git/config');
if ($git_config && strpos($git_config, 'github.com') !== false) {
return true;
}
}
// Check for GitHub-specific files that might indicate it was downloaded from GitHub
if (file_exists($plugin_dir . '.github')) {
return true;
}
return false;
}
/**
* Check if the plugin was installed from Gitea
*
* @return bool
* @noinspection PhpUndefinedFunctionInspection
*/
private function is_gitea_installation() {
// Check for Gitea-specific markers in the plugin directory
$plugin_dir = \plugin_dir_path($this->plugin_file);
// Look for .git directory with Gitea remote
if (file_exists($plugin_dir . '.git')) {
$git_config = @file_get_contents($plugin_dir . '.git/config');
if ($git_config && strpos($git_config, 'gitea.wpallstars.com') !== false) {
return true;
}
}
return false;
}
/**
* Initialize Git Updater Lite
*
* @return void
* @noinspection PhpUndefinedFunctionInspection
* @noinspection PhpUndefinedClassInspection
*/
private function init_git_updater() {
// Check if the Git Updater Lite class exists (composer autoload)
if (!class_exists('\\Fragen\\Git_Updater\\Lite')) {
// Try to include the autoloader
$autoloader = dirname($this->plugin_file) . '/vendor/autoload.php';
if (file_exists($autoloader)) {
require_once $autoloader;
} else {
return; // Can't load Git Updater Lite
}
}
// Set the update server based on the installation source
\add_filter('gul_update_server', function() {
if ($this->source === 'github') {
return 'https://github.com/wpallstars/fix-plugin-does-not-exist-notices'; // GitHub repository URL
} elseif ($this->source === 'gitea') {
return 'https://gitea.wpallstars.com/wpallstars/fix-plugin-does-not-exist-notices'; // Gitea repository URL
}
return '';
});
// Initialize Git Updater Lite
if (class_exists('\\Fragen\\Git_Updater\\Lite')) {
(new \Fragen\Git_Updater\Lite($this->plugin_file))->run();
}
}
}

View File

@ -0,0 +1,114 @@
# Copyright (C) 2024 Marcus Quinn
# This file is distributed under the GPL-2.0+.
msgid ""
msgstr ""
"Project-Id-Version: Fix 'Plugin file does not exist.' Notices 1.6.4\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/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"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: WP-CLI 2.8.1\n"
"X-Domain: fix-plugin-does-not-exist-notices\n"
#. Plugin Name of the plugin
msgid "Fix 'Plugin file does not exist.' Notices"
msgstr ""
#. Plugin URI of the plugin
msgid "https://wordpress.org/plugins/fix-plugin-does-not-exist-notices/"
msgstr ""
#. Description of the plugin
msgid "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."
msgstr ""
#. Author of the plugin
msgid "Marcus Quinn"
msgstr ""
#. Author URI of the plugin
msgid "https://www.wpallstars.com"
msgstr ""
#: fix-plugin-does-not-exist-notices.php:127
msgid "Click here to scroll to missing plugins"
msgstr ""
#: fix-plugin-does-not-exist-notices.php:128
msgid "Plugin file missing"
msgstr ""
#: fix-plugin-does-not-exist-notices.php:129
#: fix-plugin-does-not-exist-notices.php:205
msgid "Remove Reference"
msgstr ""
#. translators: %s: Path to wp-content/plugins
#: 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."
msgstr ""
#: fix-plugin-does-not-exist-notices.php:164
msgid "N/A"
msgstr ""
#: fix-plugin-does-not-exist-notices.php:168
msgid "Missing"
msgstr ""
#. translators: %s: Plugin file path
#: fix-plugin-does-not-exist-notices.php:204
msgid "Remove reference to missing plugin %s"
msgstr ""
#: fix-plugin-does-not-exist-notices.php:227
msgid "You do not have sufficient permissions to perform this action."
msgstr ""
#: fix-plugin-does-not-exist-notices.php:233
msgid "Invalid plugin specified."
msgstr ""
#: fix-plugin-does-not-exist-notices.php:308
msgid "Plugin reference removed successfully."
msgstr ""
#: 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."
msgstr ""
#: fix-plugin-does-not-exist-notices.php:331
msgid "Fix Plugin Does Not Exist Notices"
msgstr ""
#: fix-plugin-does-not-exist-notices.php:333
msgid "Missing plugin files detected:"
msgstr ""
#: fix-plugin-does-not-exist-notices.php:334
msgid "The plugins listed below with a"
msgstr ""
#: fix-plugin-does-not-exist-notices.php:335
msgid "File Missing"
msgstr ""
#: fix-plugin-does-not-exist-notices.php:336
msgid "tag no longer exist but are still referenced in your database."
msgstr ""
#: fix-plugin-does-not-exist-notices.php:339
msgid "How to fix:"
msgstr ""
#: 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."
msgstr ""
#: fix-plugin-does-not-exist-notices.php:342
msgid "This will clean up your database and remove the error notifications."
msgstr ""

View File

@ -5,7 +5,7 @@ Tags: plugins, missing plugins, cleanup, error fix, admin tools, plugin file doe
Requires at least: 5.0
Tested up to: 6.4
Requires PHP: 7.0
Stable tag: 1.5.0
Stable tag: 1.6.4
License: GPL-2.0+
License URI: https://www.gnu.org/licenses/gpl-2.0.html
@ -89,6 +89,41 @@ Although this plugin consumes minimal disk space, and doesn't run unless you are
== Changelog ==
= 1.6.4 =
* Updated version management to ensure consistent patch version increments
* Improved documentation for version update process
* Enhanced AI workflow files with detailed version increment instructions
= 1.6.3 =
* Fixed Git Updater repository URLs to use full repository paths
* Corrected Update URI configuration for proper update detection
* Improved version management following semantic versioning
* Updated organization name from 'WP All Stars' to 'WP ALLSTARS'
* Updated namespace from 'WPAllStars' to 'WPALLSTARS'
= 1.6.2 =
* Updated POT file version for consistency
* Improved JavaScript localization with proper fallbacks
* Enhanced code quality for WordPress.org submission
* Added Git Updater configuration with Update URI
* Added update server URL configuration
= 1.6.1 =
* Added AI assistant guide and workflow documentation
* Added detailed release process documentation
* Added feature development guidelines
* Added bug fixing procedures
* Added code review standards
= 1.6.0 =
* Added full translation support with POT file
* Added JavaScript localization for better multilingual support
* Added plugin constants for improved code organization
* Added Git Updater support for updates from GitHub and Gitea
* Updated code to follow WordPress internationalization best practices
* Improved asset loading with version constants
* Added smart update detection based on installation source
= 1.5.0 =
* Improved compatibility with WordPress 6.4
* Enhanced error detection for plugin references
@ -161,6 +196,21 @@ Although this plugin consumes minimal disk space, and doesn't run unless you are
== Upgrade Notice ==
= 1.6.4 =
Improved version management with consistent patch version increments and enhanced documentation for development workflows!
= 1.6.3 =
Fixed Git Updater repository URLs and updated organization naming for consistent branding across all platforms!
= 1.6.2 =
Improved JavaScript localization, enhanced code quality, and added Git Updater configuration for seamless updates!
= 1.6.1 =
Added comprehensive AI assistant guide and workflow documentation for improved development processes!
= 1.6.0 =
Added full translation support and Git Updater compatibility for direct updates from GitHub and Gitea!
= 1.5.0 =
Improved compatibility with WordPress 6.4 and accessibility enhancements for screen readers!