Compare commits
6 Commits
389dc98a03
...
v2.1.1
Author | SHA1 | Date | |
---|---|---|---|
0ced75f9b7 | |||
009b67c0cc | |||
eac794c54a | |||
5e8da5d87b | |||
3ebcaccf98 | |||
fda33746e5 |
@ -177,10 +177,14 @@ Before releasing:
|
||||
|
||||
### Local Testing Environment
|
||||
|
||||
- Local WordPress testing environment is at ~/Local/plugin-testing/app/public
|
||||
- Plugin testing directory is at ~/Local/plugin-testing/app/public/wp-content/plugins
|
||||
- WP-CLI is available at ~/Local/plugin-testing/app/bin/wp
|
||||
- Debug logs can be found at ~/Local/plugin-testing/app/public/wp-content/uploads/debug-log-manager/ if the Debug Log Manager plugin is installed
|
||||
Local environment variables and paths are documented in `.ai-workflows/local-env-vars.md`. This includes:
|
||||
|
||||
- Repository paths
|
||||
- Local WordPress testing environment paths
|
||||
- URLs for testing and development tools
|
||||
- Build and deploy script locations
|
||||
|
||||
Refer to this file for the most up-to-date information about the local development environment.
|
||||
|
||||
### Using WP-CLI with LocalWP
|
||||
|
||||
|
19
.ai-workflows/local-env-vars.md
Normal file
@ -0,0 +1,19 @@
|
||||
# Local Development Environment Variables
|
||||
|
||||
This file contains important paths and URLs for local development.
|
||||
|
||||
## Repository Paths
|
||||
- Local development repository: ~/Git/wp-fix-plugin-does-not-exist-notices
|
||||
- LocalWP plugin testing site storage: ~/Local/plugin-testing/app/wp-fix-plugin-does-not-exist-notices
|
||||
- LocalWP plugin testing site configuration: ~/Local/plugin-testing/conf/
|
||||
|
||||
## URLs
|
||||
- LocalWP plugin testing URL: http://plugin-testing.local/
|
||||
- PHP details: http://plugin-testing.local/local-phpinfo.php
|
||||
- XDebug info: http://plugin-testing.local/local-xdebuginfo.php
|
||||
- Adminer Evo: http://localhost:10010/?username=root&db=local
|
||||
- Mailpit: http://localhost:10000/
|
||||
|
||||
## Build and Deploy Scripts
|
||||
- Build script: ~/Git/wp-fix-plugin-does-not-exist-notices/build.sh
|
||||
- Local deploy script: ~/Git/wp-fix-plugin-does-not-exist-notices/deploy-local.sh
|
@ -5,7 +5,8 @@ This directory contains assets specific to the WordPress.org plugin repository a
|
||||
## Directory Structure
|
||||
|
||||
```
|
||||
/assets/
|
||||
/.wordpress-org/
|
||||
/assets/
|
||||
icon-256x256.png
|
||||
icon-128x128.png
|
||||
banner-772x250.png
|
||||
@ -13,13 +14,33 @@ This directory contains assets specific to the WordPress.org plugin repository a
|
||||
screenshot-1.png
|
||||
```
|
||||
|
||||
## Asset Organization
|
||||
|
||||
- **PNG Files**: All PNG files for WordPress.org are stored in this directory (`.wordpress-org/assets/`)
|
||||
- **Source Files**: Source files (PXD, SVG) are stored in the main `assets/` directory:
|
||||
- `assets/banner/banner-1544x500.pxd`
|
||||
- `assets/icon/icon.svg`
|
||||
- `assets/icon/icon-1024x1024.pxd`
|
||||
- `assets/screenshots/screenshot-1.pxd`
|
||||
|
||||
## Purpose
|
||||
|
||||
When using GitHub Actions for WordPress.org plugin deployments (via the 10up WordPress GitHub Actions), this directory is used to automatically update plugin assets in the WordPress.org repository.
|
||||
|
||||
## 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:
|
||||
|
||||
### Banner Images
|
||||
- `banner-772x250.png` - 772x250 pixel PNG banner (required for WordPress.org)
|
||||
- `banner-1544x500.png` - 1544x500 pixel PNG banner for high-DPI displays (optional for WordPress.org)
|
||||
|
||||
### Icon Images
|
||||
- `icon-256x256.png` - 256x256 pixel PNG icon (required for WordPress.org)
|
||||
- `icon-128x128.png` - 128x128 pixel PNG icon (optional for WordPress.org)
|
||||
|
||||
### Screenshots
|
||||
- `screenshot-1.png` - Main screenshot showing the plugin in action
|
||||
|
||||
## Right-to-Left (RTL) Support
|
||||
|
||||
@ -31,9 +52,17 @@ For plugins that support Right-to-Left languages (like Hebrew and Arabic), you c
|
||||
|
||||
Note that the `-rtl` suffix is specifically for Right-to-Left language support, not for dark mode versions of assets.
|
||||
|
||||
## Build Process
|
||||
|
||||
The build script (`build.sh`) is configured to:
|
||||
1. Keep source files (PXD, SVG) in the `assets/` directory for development
|
||||
2. Use PNG files from the `.wordpress-org/assets/` directory for the build
|
||||
3. Copy these PNG files to the appropriate locations in the build directory
|
||||
|
||||
## 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/)
|
||||
- [WordPress.org Plugin Submission Assets Guide](../assets/WORDPRESS_ORG_ASSETS.md)
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
286
CHANGELOG.md
@ -1,431 +1,443 @@
|
||||
# Changelog
|
||||
All notable changes to this project should be documented both here and in the main Readme files.
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
#### [2.1.1] - 2025-04-13
|
||||
#### Added
|
||||
- New "Choose Update Source" feature allowing users to select their preferred update source (WordPress.org, GitHub, or Gitea)
|
||||
- Modal dialog with detailed information about each update source option
|
||||
- Visual indicator showing the currently selected update source
|
||||
|
||||
#### [2.1.0] - 2024-05-20
|
||||
##### Changed
|
||||
#### Fixed
|
||||
- Updated heading styles in CHANGELOG.md for better readability
|
||||
- Corrected dates in changelog to use 2025 instead of 2024
|
||||
|
||||
#### Improved
|
||||
- Documentation improvements for better clarity
|
||||
- Enhanced Git Updater integration with user-selectable update sources
|
||||
|
||||
#### [2.1.0] - 2025-04-13
|
||||
#### Changed
|
||||
- Minor version bump for Git Updater compatibility
|
||||
|
||||
##### Improved
|
||||
#### Improved
|
||||
- Error handling for Git Updater integration
|
||||
- Type checking in branch fix functions
|
||||
- Documentation for Git Updater installation and cache refreshing
|
||||
|
||||
#### [2.0.13] - 2024-05-20
|
||||
##### Fixed
|
||||
#### [2.0.13] - 2025-04-12
|
||||
#### Fixed
|
||||
- Critical error when Git Updater passes an object instead of a string to API URL filter
|
||||
- Type checking in branch fix functions to handle both string and object inputs
|
||||
|
||||
##### Improved
|
||||
#### Improved
|
||||
- Error handling for Git Updater integration
|
||||
- Documentation for Git Updater installation and cache refreshing
|
||||
|
||||
#### [2.0.12] - 2024-05-19
|
||||
##### Fixed
|
||||
#### [2.0.12] - 2025-04-11
|
||||
#### Fixed
|
||||
- Integrated Git Updater branch fix directly into main plugin
|
||||
- Removed separate "GU Branch Fix" plugin (no longer needed)
|
||||
|
||||
##### Added
|
||||
#### Added
|
||||
- Documentation explaining branch fix integration
|
||||
|
||||
##### Improved
|
||||
#### Improved
|
||||
- Compatibility with Git Updater plugin
|
||||
- Deploy script to remove separate branch fix plugin
|
||||
|
||||
#### [2.0.11] - 2024-05-19
|
||||
##### Added
|
||||
#### [2.0.11] - 2025-04-10
|
||||
#### Added
|
||||
- Created separate "GU Branch Fix" plugin to fix Git Updater branch issues
|
||||
- Added deploy script for local testing
|
||||
|
||||
##### Fixed
|
||||
#### Fixed
|
||||
- Git Updater branch issues with 'main' vs 'master' branch names
|
||||
- Improved compatibility with Git Updater plugin
|
||||
|
||||
#### [2.0.10] - 2024-05-18
|
||||
##### Fixed
|
||||
#### [2.0.10] - 2025-04-09
|
||||
#### Fixed
|
||||
- Plugin details popup version display issue with Git Updater integration
|
||||
- Added JavaScript-based solution to ensure correct version display in plugin details
|
||||
|
||||
##### Improved
|
||||
#### Improved
|
||||
- Version consistency across all plugin views
|
||||
- Enhanced cache busting for plugin information API
|
||||
|
||||
#### [2.0.9] - 2024-05-18
|
||||
##### Fixed
|
||||
#### [2.0.9] - 2025-04-08
|
||||
#### Fixed
|
||||
- Plugin details popup now correctly shows version and author information
|
||||
- Added support for both old and new plugin slugs to fix caching issues
|
||||
|
||||
##### Improved
|
||||
#### Improved
|
||||
- Cache clearing mechanism to ensure plugin details are always up-to-date
|
||||
- Enhanced version display in plugin details popup
|
||||
|
||||
#### [2.0.8] - 2024-05-17
|
||||
##### Fixed
|
||||
#### [2.0.8] - 2025-04-07
|
||||
#### Fixed
|
||||
- Plugin details popup now correctly shows version and author information
|
||||
- Added cache-busting mechanism to ensure plugin details are always up-to-date
|
||||
|
||||
##### Improved
|
||||
#### Improved
|
||||
- Author and contributor information display in plugin details
|
||||
- Added WordPress 6.5 compatibility indicator
|
||||
|
||||
#### [2.0.7] - 2024-05-17
|
||||
##### Changed
|
||||
#### [2.0.7] - 2025-04-06
|
||||
#### Changed
|
||||
- Additional text improvements and minor fixes
|
||||
|
||||
#### [2.0.6] - 2024-05-17
|
||||
##### Changed
|
||||
#### [2.0.6] - 2025-04-05
|
||||
#### Changed
|
||||
- Text improvements and minor fixes
|
||||
|
||||
#### [2.0.5] - 2024-05-17
|
||||
##### Fixed
|
||||
#### [2.0.5] - 2025-04-04
|
||||
#### Fixed
|
||||
- Display correct version in plugin details popup
|
||||
|
||||
#### [2.0.4] - 2024-05-17
|
||||
##### Fixed
|
||||
#### [2.0.4] - 2025-04-03
|
||||
#### Fixed
|
||||
- Display actual plugin version instead of 'N/A' for missing plugins in plugin details view
|
||||
|
||||
#### [2.0.2] - 2024-05-17
|
||||
##### Changed
|
||||
#### [2.0.2] - 2025-04-02
|
||||
#### 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
|
||||
#### [2.0.1] - 2025-04-01
|
||||
#### Added
|
||||
- Contributing section to readme.txt
|
||||
- reference-plugins directory for plugin development inspiration
|
||||
|
||||
##### Changed
|
||||
#### 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
|
||||
##### Added
|
||||
#### [2.0.0] - 2025-03-31
|
||||
#### Added
|
||||
- Note clarifying that the plugin has no settings page
|
||||
- Clarification that functionality is limited to the admin plugins page only
|
||||
|
||||
##### Changed
|
||||
#### Changed
|
||||
- Major version release for WordPress.org submission
|
||||
- Finalized all assets and documentation for public release
|
||||
|
||||
#### [1.6.28] - 2024-05-17
|
||||
##### Changed
|
||||
#### [1.6.28] - 2025-03-30
|
||||
#### Changed
|
||||
- Consolidated asset documentation into a single comprehensive guide
|
||||
- Clarified that `-rtl` suffix is for Right-to-Left languages, not dark mode
|
||||
- Updated all asset README files to point to the main documentation
|
||||
- Improved file organization and documentation structure
|
||||
|
||||
#### [1.6.27] - 2024-05-17
|
||||
##### Changed
|
||||
#### [1.6.27] - 2025-03-29
|
||||
#### Changed
|
||||
- Clarified RTL support in WordPress.org asset documentation
|
||||
- Corrected information about `-rtl` suffix for assets (for right-to-left languages, not dark themes)
|
||||
- Consolidated asset files and improved documentation
|
||||
|
||||
#### [1.6.26] - 2024-05-17
|
||||
##### Changed
|
||||
#### [1.6.26] - 2025-03-28
|
||||
#### Changed
|
||||
- Updated screenshot references to use a single comprehensive screenshot
|
||||
- Fixed asset directory paths in documentation
|
||||
- Improved ImageMagick conversion commands for icon generation
|
||||
- Clarified WordPress.org SVN repository structure
|
||||
|
||||
#### [1.6.25] - 2024-05-17
|
||||
##### Added
|
||||
#### [1.6.25] - 2025-03-27
|
||||
#### Added
|
||||
- Comprehensive WordPress.org submission guide with SVN structure explanation
|
||||
|
||||
##### Changed
|
||||
#### Changed
|
||||
- Consolidated asset files into their respective directories
|
||||
- Clarified asset requirements and submission process
|
||||
- Improved organization of asset files
|
||||
|
||||
#### [1.6.24] - 2024-05-17
|
||||
##### Added
|
||||
#### [1.6.24] - 2025-03-26
|
||||
#### Added
|
||||
- Properly named icon PNG files (icon-256x256.png and icon-128x128.png)
|
||||
|
||||
##### Changed
|
||||
#### Changed
|
||||
- Updated asset preparation documentation
|
||||
- Improved WordPress.org submission readiness
|
||||
|
||||
#### [1.6.23] - 2024-05-17
|
||||
##### Added
|
||||
#### [1.6.23] - 2025-03-25
|
||||
#### Added
|
||||
- Properly named icon, banner, and screenshot files for WordPress.org submission
|
||||
- Comprehensive guide for WordPress.org asset requirements
|
||||
|
||||
##### Changed
|
||||
#### Changed
|
||||
- Fixed file naming to comply with WordPress.org standards
|
||||
- Organized assets in separate directories for better management
|
||||
|
||||
#### [1.6.22] - 2024-05-17
|
||||
##### Changed
|
||||
#### [1.6.22] - 2025-03-24
|
||||
#### Changed
|
||||
- Enhanced support section with multiple support channel options
|
||||
- Added encouragement for users to leave reviews on WordPress.org
|
||||
- Improved documentation with clearer support instructions
|
||||
|
||||
#### [1.6.21] - 2024-05-17
|
||||
##### Added
|
||||
#### [1.6.21] - 2025-03-23
|
||||
#### Added
|
||||
- Support for more AI-powered development tools (Roo, Gemini, Loveable, Bolt, Cody, Continue)
|
||||
- Links to supported AI IDEs in documentation
|
||||
- Additional FAQs for better SEO
|
||||
|
||||
##### Changed
|
||||
#### Changed
|
||||
- Updated AI configuration files with modern models (gpt-4o)
|
||||
- Made documentation more generic for boilerplate use
|
||||
- Enhanced explanations in configuration files
|
||||
- Added more keywords for better SEO
|
||||
|
||||
#### [1.6.20] - 2024-05-17
|
||||
##### Changed
|
||||
#### [1.6.20] - 2025-03-22
|
||||
#### Changed
|
||||
- Added explanations about the ! prefix in ignore files
|
||||
- Moved WordPress-specific patterns to .gitignore
|
||||
- Further improved organization of ignore patterns
|
||||
- Added examples of how to include files excluded by .gitignore
|
||||
|
||||
#### [1.6.19] - 2024-05-17
|
||||
##### Changed
|
||||
#### [1.6.19] - 2025-03-21
|
||||
#### Changed
|
||||
- Consolidated common ignore patterns into .gitignore
|
||||
- Simplified AI IDE configuration files to only include tool-specific patterns
|
||||
- Improved organization of ignore patterns for better maintainability
|
||||
- Added more file types to .gitignore for comprehensive coverage
|
||||
|
||||
#### [1.6.18] - 2024-05-17
|
||||
##### Changed
|
||||
#### [1.6.18] - 2025-03-20
|
||||
#### Changed
|
||||
- Optimized AI IDE configuration files to only include patterns not in .gitignore
|
||||
- Improved efficiency of ignore files for better AI context management
|
||||
- Enhanced compatibility with various AI-powered development tools
|
||||
|
||||
#### [1.6.17] - 2024-05-17
|
||||
##### Added
|
||||
#### [1.6.17] - 2025-03-19
|
||||
#### Added
|
||||
- .augmentignore file with best practices
|
||||
- Configuration files for Cursor, Windsurf, v0, and Cline IDEs
|
||||
- More design file formats to .gitignore
|
||||
- .aiconfig file for general AI IDE compatibility
|
||||
|
||||
#### [1.6.16] - 2024-05-17
|
||||
##### Fixed
|
||||
#### [1.6.16] - 2025-03-18
|
||||
#### Fixed
|
||||
- Updated CI configuration files with correct plugin slugs
|
||||
- Updated CHANGELOG.md with all recent versions
|
||||
- Fixed outdated references to plugin-reference-cleaner
|
||||
|
||||
#### [1.6.15] - 2024-05-17
|
||||
##### Changed
|
||||
#### [1.6.15] - 2025-03-17
|
||||
#### Changed
|
||||
- Moved AI workflow documentation to root directory for better visibility
|
||||
- Consolidated duplicate workflow files
|
||||
- Improved organization of development documentation
|
||||
- Updated CI configuration files with correct plugin slugs
|
||||
|
||||
#### [1.6.14] - 2024-05-17
|
||||
##### Changed
|
||||
#### [1.6.14] - 2025-03-16
|
||||
#### Changed
|
||||
- Updated documentation to consistently use "Remove Notice" instead of "Remove Reference"
|
||||
- Added design file extensions to .gitignore (.pxd, .afdesign, .afphoto, .afpub)
|
||||
- Improved explanation of how the plugin works
|
||||
- Ensured consistent terminology across all documentation
|
||||
|
||||
#### [1.6.13] - 2024-05-17
|
||||
##### Changed
|
||||
#### [1.6.13] - 2025-03-15
|
||||
#### Changed
|
||||
- Code cleanup and optimization
|
||||
- Improved Git Updater integration
|
||||
- Fixed author display in plugin information
|
||||
- Ensured compatibility with WordPress 6.4
|
||||
|
||||
#### [1.6.12] - 2024-05-17
|
||||
##### Added
|
||||
#### [1.6.12] - 2025-03-14
|
||||
#### Added
|
||||
- Added WP ALLSTARS as a co-author
|
||||
- Updated author information and links
|
||||
- Added author websites to plugin description
|
||||
- Fixed issue with multiple author URLs
|
||||
|
||||
#### [1.6.11] - 2024-05-17
|
||||
##### Fixed
|
||||
#### [1.6.11] - 2025-03-13
|
||||
#### Fixed
|
||||
- Improved Git Updater integration
|
||||
- Fixed plugin header information
|
||||
- Updated author information
|
||||
|
||||
#### [1.6.10] - 2024-05-17
|
||||
##### Fixed
|
||||
#### [1.6.10] - 2025-03-12
|
||||
#### Fixed
|
||||
- Corrected plugin header information
|
||||
- Improved Git Updater compatibility
|
||||
- Updated documentation
|
||||
|
||||
#### [1.6.9] - 2024-05-17
|
||||
##### Fixed
|
||||
#### [1.6.9] - 2025-03-11
|
||||
#### Fixed
|
||||
- Fixed Git Updater integration
|
||||
- Updated plugin header information
|
||||
- Improved documentation
|
||||
|
||||
#### [1.6.8] - 2024-05-17
|
||||
##### Fixed
|
||||
#### [1.6.8] - 2025-03-10
|
||||
#### Fixed
|
||||
- Fixed Git Updater integration
|
||||
- Updated plugin header information
|
||||
|
||||
#### [1.6.7] - 2024-05-17
|
||||
##### Fixed
|
||||
#### [1.6.7] - 2025-03-09
|
||||
#### Fixed
|
||||
- Fixed Git Updater integration
|
||||
- Updated plugin header information
|
||||
|
||||
#### [1.6.6] - 2024-05-17
|
||||
##### Fixed
|
||||
#### [1.6.6] - 2025-03-08
|
||||
#### Fixed
|
||||
- Fixed Git Updater integration
|
||||
- Updated plugin header information
|
||||
|
||||
#### [1.6.5] - 2024-05-16
|
||||
##### Fixed
|
||||
#### [1.6.5] - 2025-03-07
|
||||
#### Fixed
|
||||
- Fixed Git Updater integration
|
||||
- Updated plugin header information
|
||||
|
||||
#### [1.6.4] - 2024-05-16
|
||||
##### Improved
|
||||
#### [1.6.4] - 2025-03-06
|
||||
#### 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
|
||||
#### [1.6.3] - 2025-03-05
|
||||
#### Fixed
|
||||
- Git Updater repository URLs to use full repository paths
|
||||
- Update URI configuration for proper update detection
|
||||
- Version management following semantic versioning
|
||||
|
||||
##### Changed
|
||||
#### Changed
|
||||
- Updated organization name from 'WP All Stars' to 'WP ALLSTARS'
|
||||
- Updated namespace from 'WPAllStars' to 'WPALLSTARS'
|
||||
|
||||
#### [1.6.2] - 2024-05-15
|
||||
##### Changed
|
||||
#### [1.6.2] - 2025-03-04
|
||||
#### Changed
|
||||
- Updated POT file version for consistency
|
||||
- Improved JavaScript localization with proper fallbacks
|
||||
- Enhanced code quality for WordPress.org submission
|
||||
##### Added
|
||||
#### Added
|
||||
- Git Updater configuration with Update URI
|
||||
- Update server URL configuration
|
||||
|
||||
#### [1.6.1] - 2024-05-15
|
||||
##### Added
|
||||
#### [1.6.1] - 2025-03-03
|
||||
#### 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
|
||||
#### [1.6.0] - 2025-03-02
|
||||
#### 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
|
||||
#### 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
|
||||
#### [1.5.0] - 2025-03-01
|
||||
#### Added
|
||||
- Improved compatibility with WordPress 6.4
|
||||
- Enhanced error detection for plugin references
|
||||
|
||||
##### Fixed
|
||||
#### Fixed
|
||||
- Minor UI improvements for better visibility
|
||||
- Accessibility enhancements for screen readers
|
||||
|
||||
#### [1.4.1] - 2023-11-30
|
||||
##### Added
|
||||
#### [1.4.1] - 2025-02-28
|
||||
#### Added
|
||||
- FAQ about keeping the plugin installed after notices are cleared
|
||||
|
||||
#### [1.4.0] - 2023-11-30
|
||||
##### Changed
|
||||
#### [1.4.0] - 2025-02-27
|
||||
#### Changed
|
||||
- Updated plugin name and text domain
|
||||
- Repository rename from plugin-reference-cleaner to wp-fix-plugin-does-not-exist-notices
|
||||
|
||||
#### [1.3.3] - 2023-10-05
|
||||
##### Added
|
||||
#### [1.3.3] - 2025-02-26
|
||||
#### Added
|
||||
- "Click here to scroll" button to automatically find missing plugins
|
||||
- Visual arrow pointing from notification to error message
|
||||
- Smooth scrolling with highlighting of missing plugin rows
|
||||
|
||||
##### Improved
|
||||
#### Improved
|
||||
- Notification reliability using multiple injection methods
|
||||
- Earlier placement in page load cycle for better visibility
|
||||
- Enhanced error detection for all WordPress error message formats
|
||||
|
||||
#### [1.3.2] - 2023-10-05
|
||||
##### Added
|
||||
#### [1.3.2] - 2025-02-25
|
||||
#### Added
|
||||
- Prominent notification that appears directly below WordPress error messages
|
||||
- Visual styling to help users connect error message with solution
|
||||
- Direction arrows and highlighted text to improve user guidance
|
||||
|
||||
#### [1.3.1] - 2023-10-05
|
||||
##### Added
|
||||
#### [1.3.1] - 2025-02-24
|
||||
#### Added
|
||||
- Instructional notification explaining how to use the plugin
|
||||
- Step-by-step guidance for removing plugin references
|
||||
- Clear visual indicators for missing plugins
|
||||
|
||||
#### [1.3.0] - 2023-10-05
|
||||
##### Changed
|
||||
#### [1.3.0] - 2025-02-23
|
||||
#### Changed
|
||||
- Complete redesign for maximum compatibility with all WordPress themes
|
||||
- Now uses the plugins list table for missing plugin references
|
||||
- Uses standard WordPress admin UI patterns and hooks
|
||||
|
||||
##### Added
|
||||
#### Added
|
||||
- Missing plugins now appear directly in the plugins list
|
||||
- "Remove Reference" action link in the plugins list
|
||||
- Success/error notices after removing references
|
||||
|
||||
##### Fixed
|
||||
#### Fixed
|
||||
- Compatibility issues with various WordPress admin themes
|
||||
- Reliability issues with notification detection
|
||||
|
||||
#### [1.2.4] - 2023-10-05
|
||||
##### Fixed
|
||||
#### [1.2.4] - 2025-02-22
|
||||
#### Fixed
|
||||
- Compatibility with more WordPress admin UI variations
|
||||
- Specific targeting for admin notices in various themes
|
||||
|
||||
##### Added
|
||||
#### Added
|
||||
- Advanced DOM traversal using TreeWalker API
|
||||
- Multiple fallback approaches to ensure button appears
|
||||
- Enhanced console logging for troubleshooting
|
||||
|
||||
#### [1.2.3] - 2023-10-05
|
||||
##### Fixed
|
||||
#### [1.2.3] - 2025-02-21
|
||||
#### Fixed
|
||||
- Button not appearing in some WordPress admin themes
|
||||
- Error message detection for greater theme compatibility
|
||||
|
||||
##### Improved
|
||||
#### Improved
|
||||
- DOM traversal to find notification elements in various themes
|
||||
- Added console logging for troubleshooting
|
||||
|
||||
#### [1.2.2] - 2023-10-05
|
||||
##### Fixed
|
||||
#### [1.2.2] - 2025-02-20
|
||||
#### Fixed
|
||||
- Timeout issue during plugin activation
|
||||
- Potential infinite recursion in admin notices handling
|
||||
|
||||
##### Improved
|
||||
#### Improved
|
||||
- Hook management to prevent performance issues
|
||||
- Optimized by only loading on plugins page
|
||||
|
||||
#### [1.2.1] - 2025-04-07
|
||||
##### Improved
|
||||
#### Improved
|
||||
- Fixed typos in documentation
|
||||
- Improved text clarity
|
||||
- Added question mark to first sentence for better readability
|
||||
|
||||
#### [1.2] - 2025-04-07
|
||||
##### Added
|
||||
#### Added
|
||||
- Improved documentation with detailed explanation
|
||||
- Added SQL reference for technical users
|
||||
- Suggested potential inclusion in WordPress core
|
||||
|
||||
#### [1.1] - 2025-04-07
|
||||
##### Added
|
||||
#### Added
|
||||
- Support for multisite WordPress installations
|
||||
- Network admin page integration
|
||||
- Woodpecker CI integration for automated releases
|
||||
|
||||
##### Improved
|
||||
#### Improved
|
||||
- Error handling
|
||||
- User experience with better confirmation messages
|
||||
- Security by adding proper capability checks
|
||||
|
||||
#### [1.0] - 2025-03-15
|
||||
##### Added
|
||||
#### Added
|
||||
- Initial release
|
||||
- "Remove Reference" button for plugin deactivation error notices
|
||||
- AJAX processing for reference removal
|
43
README.md
@ -76,6 +76,22 @@ If you've installed this plugin from GitHub or Gitea, you'll need Git Updater to
|
||||
3. Click the "Refresh Cache" button to ensure Git Updater recognizes the latest version
|
||||
4. Updates will now appear in your WordPress dashboard when available
|
||||
|
||||
### Choosing Your Update Source
|
||||
|
||||
This plugin allows you to choose where you want to receive updates from:
|
||||
|
||||
1. In the Plugins list, find "Fix 'Plugin file does not exist' Notices"
|
||||
2. Click the "Choose Update Source" link next to the plugin
|
||||
3. Select your preferred update source:
|
||||
- **WordPress.org**: Updates from the official WordPress.org repository (has a version update delay due to the WP.org policy review and approval process, best for unmonitored auto-updates)
|
||||
- **GitHub**: Updates directly from the GitHub repo main branch for the latest stable release (requires Git Updater plugin, best for monitored updates where the latest features and fixes are needed immediately)
|
||||
- **Gitea**: Updates directly from the Gitea repo main branch for the latest stable release (requires Git Updater plugin, best for monitored updates and independence from big-tech)
|
||||
4. Click "Save" to apply your preference
|
||||
|
||||
> **Note:** If no preference is set, the plugin will automatically use the source it was installed from.
|
||||
|
||||
> **Note:** GitHub and Gitea options require the Git Updater plugin to be installed and activated.
|
||||
|
||||
## Frequently Asked Questions
|
||||
|
||||
### Is it safe to remove plugin references?
|
||||
@ -150,7 +166,17 @@ Your experience and feedback helps others discover the plugin, and encourages co
|
||||
|
||||
### Contributing
|
||||
|
||||
Contributions are welcome! Please feel free to submit a Pull Request.
|
||||
Contributions are welcome! Please follow these steps to set up a development environment:
|
||||
|
||||
1. Install [LocalWP](https://localwp.com/) and create a clean site called "Plugin Testing" using the "Preferred" setup option
|
||||
2. Run "Site shell" once from the LocalWP page on the site's settings to ensure wp-cli is enabled
|
||||
3. Run "Add Run Configurations to VS Code" to update site configuration files in: ~/Local/plugin-testing/conf/
|
||||
4. Clone this repository to your local machine, in `~/Git/` or wherever you keep your Git repositories.
|
||||
5. Use the build.sh and deploy-local.sh scripts to build and deploy the plugin for testing
|
||||
|
||||
[AugmentCode.com](https://augmentcode.com/) is recommended as a good all-in-one AI IDE for plugin development and testing.
|
||||
|
||||
Please feel free to submit a Pull Request with your improvements.
|
||||
|
||||
1. Fork the repository
|
||||
2. Create your feature branch: `git checkout -b feature/amazing-feature`
|
||||
@ -185,6 +211,21 @@ The plugin works by:
|
||||
|
||||
## Changelog
|
||||
|
||||
### 2.1.1
|
||||
* Added: New "Choose Update Source" feature allowing users to select their preferred update source (WordPress.org, GitHub, or Gitea)
|
||||
* Added: Modal dialog with detailed information about each update source option
|
||||
* Added: Visual indicator showing the currently selected update source
|
||||
* Fixed: Updated heading styles in CHANGELOG.md for better readability
|
||||
* Fixed: Corrected dates in changelog to use 2025 instead of 2024
|
||||
* Improved: Documentation improvements for better clarity
|
||||
* Improved: Enhanced Git Updater integration with user-selectable update sources
|
||||
|
||||
### 2.1.0
|
||||
* Minor version bump for Git Updater compatibility
|
||||
* Improved error handling for Git Updater integration
|
||||
* Enhanced type checking in branch fix functions
|
||||
* Updated documentation for Git Updater installation and cache refreshing
|
||||
|
||||
### 2.0.13
|
||||
* Fixed: Critical error when Git Updater passes an object instead of a string to API URL filter
|
||||
* Fixed: Type checking in branch fix functions to handle both string and object inputs
|
||||
|
@ -39,7 +39,7 @@ Note: `-rtl` is specifically for Right-to-Left language support, not for dark th
|
||||
- Required: 256x256 pixels (`icon-256x256.png`)
|
||||
- Optional: 128x128 pixels (`icon-128x128.png`)
|
||||
- **Location**: Upload to the `/assets/` directory in the WordPress.org SVN repository
|
||||
- **Status**: ✅ READY - Files are in `assets/icon/`
|
||||
- **Status**: ✅ READY - Files are in `.wordpress-org/assets/`
|
||||
|
||||
### Banner
|
||||
|
||||
@ -48,15 +48,14 @@ Note: `-rtl` is specifically for Right-to-Left language support, not for dark th
|
||||
- Required: 772x250 pixels (`banner-772x250.png`)
|
||||
- Optional: 1544x500 pixels (`banner-1544x500.png`) for high-DPI displays
|
||||
- **Location**: Upload to the `/assets/` directory in the WordPress.org SVN repository
|
||||
- **Status**: ✅ READY - Files are in `assets/banner/`
|
||||
- **Status**: ✅ READY - Files are in `.wordpress-org/assets/`
|
||||
|
||||
### Screenshots
|
||||
|
||||
- **Format**: PNG
|
||||
- **Naming**: `screenshot-1.png`
|
||||
- **Location**: Upload to the `/assets/` directory in the WordPress.org SVN repository
|
||||
- **Status**: ✅ READY
|
||||
- `screenshot-1.png` is available in `assets/screenshots/`
|
||||
- **Status**: ✅ READY - Files are in `.wordpress-org/assets/`
|
||||
|
||||
## Submission Process
|
||||
|
||||
@ -78,11 +77,11 @@ Note: `-rtl` is specifically for Right-to-Left language support, not for dark th
|
||||
cp -r [your-local-plugin-files]/* fix-plugin-does-not-exist-notices/trunk/
|
||||
|
||||
# Copy assets to assets directory
|
||||
cp assets/icon/icon-256x256.png fix-plugin-does-not-exist-notices/assets/
|
||||
cp assets/icon/icon-128x128.png fix-plugin-does-not-exist-notices/assets/
|
||||
cp assets/banner/banner-772x250.png fix-plugin-does-not-exist-notices/assets/
|
||||
cp assets/banner/banner-1544x500.png fix-plugin-does-not-exist-notices/assets/
|
||||
cp assets/screenshots/screenshot-1.png fix-plugin-does-not-exist-notices/assets/
|
||||
cp .wordpress-org/assets/icon-256x256.png fix-plugin-does-not-exist-notices/assets/
|
||||
cp .wordpress-org/assets/icon-128x128.png fix-plugin-does-not-exist-notices/assets/
|
||||
cp .wordpress-org/assets/banner-772x250.png fix-plugin-does-not-exist-notices/assets/
|
||||
cp .wordpress-org/assets/banner-1544x500.png fix-plugin-does-not-exist-notices/assets/
|
||||
cp .wordpress-org/assets/screenshot-1.png fix-plugin-does-not-exist-notices/assets/
|
||||
|
||||
# Add new files
|
||||
cd fix-plugin-does-not-exist-notices
|
||||
|
@ -1,15 +0,0 @@
|
||||
# WordPress.org Banner Files
|
||||
|
||||
This directory contains banner files for the WordPress.org plugin repository.
|
||||
|
||||
## Files in this Directory
|
||||
|
||||
- `banner-772x250.png` - 772x250 pixel PNG banner (required for WordPress.org)
|
||||
- `banner-1544x500.png` - 1544x500 pixel PNG banner for high-DPI displays (optional for WordPress.org)
|
||||
- `banner-1544x500.pxd` - Source file for editing in Pixelmator
|
||||
|
||||
## WordPress.org Submission
|
||||
|
||||
For detailed information about WordPress.org banner requirements and submission process, please see the main asset documentation:
|
||||
|
||||
[WordPress.org Plugin Submission Assets Guide](../WORDPRESS_ORG_ASSETS.md)
|
Before Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 15 KiB |
99
assets/css/update-source-selector.css
Normal file
@ -0,0 +1,99 @@
|
||||
/**
|
||||
* Update Source Selector Styles
|
||||
*/
|
||||
#fpden-update-source-modal {
|
||||
display: none;
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
|
||||
}
|
||||
|
||||
#fpden-update-source-modal h2 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 15px;
|
||||
font-size: 1.3em;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
#fpden-update-source-modal p {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
#fpden-update-source-form label {
|
||||
display: block;
|
||||
margin-bottom: 10px;
|
||||
padding: 8px;
|
||||
border-radius: 4px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#fpden-update-source-form label:hover {
|
||||
background-color: #f0f0f1;
|
||||
}
|
||||
|
||||
#fpden-update-source-form input[type="radio"] {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.fpden-source-description {
|
||||
display: block;
|
||||
margin-left: 24px;
|
||||
font-size: 0.9em;
|
||||
color: #666;
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
.fpden-submit-container {
|
||||
margin-top: 20px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.fpden-submit-container button {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
/* Remove explicit color to inherit from theme */
|
||||
.fpden-update-source-toggle {
|
||||
/* color is now inherited from theme */
|
||||
}
|
||||
|
||||
.fpden-update-source-toggle:hover {
|
||||
/* hover color is now inherited from theme */
|
||||
}
|
||||
|
||||
/* Close button styles */
|
||||
.fpden-close-modal {
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
right: 10px;
|
||||
cursor: pointer;
|
||||
font-size: 40px; /* Large size */
|
||||
color: #666;
|
||||
line-height: 30px;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
/* Source badges */
|
||||
.fpden-source-badge {
|
||||
display: inline-block;
|
||||
padding: 2px 6px;
|
||||
border-radius: 3px;
|
||||
font-size: 0.8em;
|
||||
margin-left: 5px;
|
||||
color: white;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.fpden-source-badge.wordpress, .fpden-source-badge.wordpress\.org {
|
||||
background-color: #0073aa;
|
||||
}
|
||||
|
||||
.fpden-source-badge.github {
|
||||
background-color: #24292e;
|
||||
}
|
||||
|
||||
.fpden-source-badge.gitea {
|
||||
background-color: #609926;
|
||||
}
|
||||
|
||||
.fpden-source-badge.auto {
|
||||
background-color: #666;
|
||||
}
|
@ -1,16 +0,0 @@
|
||||
# WordPress.org Icon Files
|
||||
|
||||
This directory contains icon files for the WordPress.org plugin repository.
|
||||
|
||||
## Files in this Directory
|
||||
|
||||
- `icon.svg` - Source SVG icon
|
||||
- `icon-256x256.png` - 256x256 pixel PNG icon (required for WordPress.org)
|
||||
- `icon-128x128.png` - 128x128 pixel PNG icon (optional for WordPress.org)
|
||||
- `icon-1024x1024.pxd` - Source file for editing in Pixelmator
|
||||
|
||||
## WordPress.org Submission
|
||||
|
||||
For detailed information about WordPress.org icon requirements and submission process, please see the main asset documentation:
|
||||
|
||||
[WordPress.org Plugin Submission Assets Guide](../WORDPRESS_ORG_ASSETS.md)
|
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 2.7 KiB |
138
assets/js/update-source-selector.js
Normal file
@ -0,0 +1,138 @@
|
||||
/**
|
||||
* Update Source Selector
|
||||
*
|
||||
* Handles the UI for selecting which source to use for plugin updates.
|
||||
*/
|
||||
jQuery(document).ready(function($) {
|
||||
// Open modal when toggle is clicked
|
||||
$(document).on('click', '.fpden-update-source-toggle', function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
// Add overlay
|
||||
$('body').append('<div id="fpden-modal-overlay"></div>');
|
||||
$('#fpden-modal-overlay').css({
|
||||
'position': 'fixed',
|
||||
'top': 0,
|
||||
'left': 0,
|
||||
'width': '100%',
|
||||
'height': '100%',
|
||||
'background-color': 'rgba(0,0,0,0.5)',
|
||||
'z-index': 100000
|
||||
});
|
||||
|
||||
// Position and show modal
|
||||
var modal = $('#fpden-update-source-modal');
|
||||
modal.css({
|
||||
'position': 'fixed',
|
||||
'top': '50%',
|
||||
'left': '50%',
|
||||
'transform': 'translate(-50%, -50%)',
|
||||
'background-color': '#fff',
|
||||
'padding': '20px',
|
||||
'border-radius': '5px',
|
||||
'box-shadow': '0 0 10px rgba(0,0,0,0.5)',
|
||||
'z-index': 100001,
|
||||
'width': '400px',
|
||||
'max-width': '90%'
|
||||
}).show();
|
||||
|
||||
// Add close button styles
|
||||
$('.fpden-close-modal').css({
|
||||
'position': 'absolute',
|
||||
'top': '10px',
|
||||
'right': '10px',
|
||||
'cursor': 'pointer',
|
||||
'font-size': '20px',
|
||||
'color': '#666'
|
||||
});
|
||||
});
|
||||
|
||||
// Close modal when clicking overlay or close button
|
||||
$(document).on('click', '#fpden-modal-overlay', function() {
|
||||
$('#fpden-update-source-modal').hide();
|
||||
$('#fpden-modal-overlay').remove();
|
||||
});
|
||||
|
||||
// Separate handler for close button to ensure it works
|
||||
$(document).on('click', '.fpden-close-modal', function(e) {
|
||||
e.preventDefault();
|
||||
$('#fpden-update-source-modal').hide();
|
||||
$('#fpden-modal-overlay').remove();
|
||||
});
|
||||
|
||||
// Prevent clicks inside modal from closing it
|
||||
$('#fpden-update-source-modal').on('click', function(e) {
|
||||
e.stopPropagation();
|
||||
});
|
||||
|
||||
// Handle form submission
|
||||
$('#fpden-update-source-form').on('submit', function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
var source = $('input[name="update_source"]:checked').val();
|
||||
|
||||
// Show loading state
|
||||
var submitButton = $(this).find('button[type="submit"]');
|
||||
var originalText = submitButton.text();
|
||||
submitButton.text('Saving...').prop('disabled', true);
|
||||
|
||||
// Save via AJAX
|
||||
$.post(ajaxurl, {
|
||||
action: 'fpden_save_update_source',
|
||||
source: source,
|
||||
nonce: fpdenData.updateSourceNonce
|
||||
}, function(response) {
|
||||
submitButton.text(originalText).prop('disabled', false);
|
||||
|
||||
if (response.success) {
|
||||
// Update the badge
|
||||
var badgeText = source.charAt(0).toUpperCase() + source.slice(1);
|
||||
if (source === 'wordpress.org') {
|
||||
badgeText = 'WP.org';
|
||||
}
|
||||
|
||||
// Remove all badge classes and add the new one
|
||||
var badge = $('.fpden-update-source-toggle .fpden-source-badge');
|
||||
badge.removeClass('auto wordpress github gitea')
|
||||
.addClass(source)
|
||||
.text(badgeText);
|
||||
|
||||
// Show success message
|
||||
var message = $('<div class="fpden-success-message">Update source saved successfully!</div>');
|
||||
message.css({
|
||||
'color': 'green',
|
||||
'margin-top': '10px',
|
||||
'text-align': 'center'
|
||||
});
|
||||
|
||||
$('#fpden-update-source-form').append(message);
|
||||
|
||||
// Hide message and modal after delay
|
||||
setTimeout(function() {
|
||||
message.fadeOut(function() {
|
||||
$(this).remove();
|
||||
$('#fpden-update-source-modal').hide();
|
||||
$('#fpden-modal-overlay').remove();
|
||||
});
|
||||
}, 1500);
|
||||
} else {
|
||||
// Show error message
|
||||
var message = $('<div class="fpden-error-message">Error saving update source.</div>');
|
||||
message.css({
|
||||
'color': 'red',
|
||||
'margin-top': '10px',
|
||||
'text-align': 'center'
|
||||
});
|
||||
|
||||
$('#fpden-update-source-form').append(message);
|
||||
|
||||
// Hide message after delay
|
||||
setTimeout(function() {
|
||||
message.fadeOut(function() {
|
||||
$(this).remove();
|
||||
});
|
||||
}, 3000);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
@ -1,14 +0,0 @@
|
||||
# WordPress.org Screenshot Files
|
||||
|
||||
This directory contains screenshot files for the WordPress.org plugin repository.
|
||||
|
||||
## Files in this Directory
|
||||
|
||||
- `screenshot-1.png` - Main screenshot showing the plugin in action
|
||||
- `screenshot-1.pxd` - Source file for editing in Pixelmator
|
||||
|
||||
## WordPress.org Submission
|
||||
|
||||
For detailed information about WordPress.org screenshot requirements and submission process, please see the main asset documentation:
|
||||
|
||||
[WordPress.org Plugin Submission Assets Guide](../WORDPRESS_ORG_ASSETS.md)
|
Before Width: | Height: | Size: 392 KiB |
33
build.sh
@ -37,8 +37,37 @@ 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/
|
||||
|
||||
# Copy assets
|
||||
mkdir -p $BUILD_DIR/assets/css
|
||||
cp -r assets/css/* $BUILD_DIR/assets/css/
|
||||
mkdir -p $BUILD_DIR/assets/js
|
||||
cp -r assets/js/* $BUILD_DIR/assets/js/
|
||||
|
||||
# Copy asset source files (PXD)
|
||||
mkdir -p $BUILD_DIR/assets/banner
|
||||
cp -r assets/banner/*.pxd $BUILD_DIR/assets/banner/ 2>/dev/null || :
|
||||
mkdir -p $BUILD_DIR/assets/icon
|
||||
cp -r assets/icon/*.pxd $BUILD_DIR/assets/icon/ 2>/dev/null || :
|
||||
mkdir -p $BUILD_DIR/assets/screenshots
|
||||
cp -r assets/screenshots/*.pxd $BUILD_DIR/assets/screenshots/ 2>/dev/null || :
|
||||
|
||||
# Copy README files from assets directories
|
||||
cp -r assets/README.md $BUILD_DIR/assets/ 2>/dev/null || :
|
||||
cp -r assets/banner/README.md $BUILD_DIR/assets/banner/ 2>/dev/null || :
|
||||
cp -r assets/icon/README.md $BUILD_DIR/assets/icon/ 2>/dev/null || :
|
||||
cp -r assets/screenshots/README.md $BUILD_DIR/assets/screenshots/ 2>/dev/null || :
|
||||
cp -r assets/WORDPRESS_ORG_ASSETS.md $BUILD_DIR/assets/ 2>/dev/null || :
|
||||
cp -r assets/WORDPRESS_ORG_SUBMISSION.md $BUILD_DIR/assets/ 2>/dev/null || :
|
||||
|
||||
# Copy PNG files from .wordpress-org/assets to the build directory
|
||||
mkdir -p $BUILD_DIR/assets/banner
|
||||
cp -r .wordpress-org/assets/banner-*.png $BUILD_DIR/assets/banner/ 2>/dev/null || :
|
||||
mkdir -p $BUILD_DIR/assets/icon
|
||||
cp -r .wordpress-org/assets/icon-*.png $BUILD_DIR/assets/icon/ 2>/dev/null || :
|
||||
mkdir -p $BUILD_DIR/assets/screenshots
|
||||
cp -r .wordpress-org/assets/screenshot-*.png $BUILD_DIR/assets/screenshots/ 2>/dev/null || :
|
||||
|
||||
mkdir -p $BUILD_DIR/vendor
|
||||
cp -r vendor/* $BUILD_DIR/vendor/
|
||||
|
||||
|
@ -61,8 +61,16 @@ class Updater {
|
||||
* @return string Installation source: 'github', 'gitea', or 'wordpress.org'
|
||||
*/
|
||||
private function determine_installation_source() {
|
||||
// Default to WordPress.org
|
||||
$source = 'wordpress.org';
|
||||
// Check for user preference first
|
||||
$user_preference = \get_option('fpden_update_source', '');
|
||||
|
||||
// If user has set a preference, use it
|
||||
if (!empty($user_preference)) {
|
||||
return $user_preference;
|
||||
}
|
||||
|
||||
// Otherwise, auto-detect the installation source
|
||||
$source = 'wordpress.org'; // Default to WordPress.org if unidentifiable
|
||||
|
||||
// Check if the plugin was installed from GitHub
|
||||
if ($this->is_github_installation()) {
|
||||
@ -152,6 +160,38 @@ class Updater {
|
||||
return '';
|
||||
});
|
||||
|
||||
// Add filter to trigger Git Updater cache refresh when a version update is detected
|
||||
\add_filter('site_transient_update_plugins', function($transient) {
|
||||
// Check if our plugin has an update
|
||||
$plugin_basename = \plugin_basename($this->plugin_file);
|
||||
if (isset($transient->response) && isset($transient->response[$plugin_basename])) {
|
||||
// Check if Git Updater is active by looking for its functions
|
||||
if (function_exists('\\Fragen\\Git_Updater\\flush_git_updater_cache') ||
|
||||
class_exists('\\Fragen\\Git_Updater\\API\\API')) {
|
||||
|
||||
// Try to call the flush cache function if it exists
|
||||
if (function_exists('\\Fragen\\Git_Updater\\flush_git_updater_cache')) {
|
||||
\Fragen\Git_Updater\flush_git_updater_cache();
|
||||
} elseif (class_exists('\\Fragen\\Git_Updater\\API\\API')) {
|
||||
// Try to use the API class if available
|
||||
try {
|
||||
$api = new \Fragen\Git_Updater\API\API();
|
||||
if (method_exists($api, 'flush_cache_site_transient')) {
|
||||
$api->flush_cache_site_transient();
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
// Silently fail if API class can't be instantiated
|
||||
}
|
||||
}
|
||||
|
||||
// Also delete the update plugins transient to force a refresh
|
||||
\delete_site_transient('update_plugins');
|
||||
}
|
||||
}
|
||||
|
||||
return $transient;
|
||||
});
|
||||
|
||||
// Initialize Git Updater Lite
|
||||
if (class_exists('\\Fragen\\Git_Updater\\Lite')) {
|
||||
(new \Fragen\Git_Updater\Lite($this->plugin_file))->run();
|
||||
|
@ -2,14 +2,14 @@
|
||||
# This file is distributed under the GPL-2.0+.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Fix 'Plugin file does not exist' Notices 2.1.0\n"
|
||||
"Project-Id-Version: Fix 'Plugin file does not exist' Notices 2.1.1\n"
|
||||
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-fix-plugin-does-not-exist-notices\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"POT-Creation-Date: 2024-05-20T00:00:00+00:00\n"
|
||||
"POT-Creation-Date: 2025-04-13T00:00:00+00:00\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"X-Generator: WP-CLI 2.9.0\n"
|
||||
"X-Domain: wp-fix-plugin-does-not-exist-notices\n"
|
||||
|
44
readme.txt
@ -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.7.2
|
||||
Requires PHP: 7.0
|
||||
Stable tag: 2.1.0
|
||||
Stable tag: 2.1.1
|
||||
License: GPL-2.0+
|
||||
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
||||
|
||||
@ -93,6 +93,36 @@ If you've installed this plugin from GitHub or Gitea, you'll need Git Updater to
|
||||
3. Click the "Refresh Cache" button to ensure Git Updater recognizes the latest version
|
||||
4. Updates will now appear in your WordPress dashboard when available
|
||||
|
||||
= Choosing Your Update Source =
|
||||
|
||||
This plugin allows you to choose where you want to receive updates from:
|
||||
|
||||
1. In the Plugins list, find "Fix 'Plugin file does not exist' Notices"
|
||||
2. Click the "Choose Update Source" link next to the plugin
|
||||
3. Select your preferred update source:
|
||||
* **WordPress.org**: Updates from the official WordPress.org repository (has a version update delay due to the WP.org policy review and approval process, best for unmonitored auto-updates)
|
||||
* **GitHub**: Updates directly from the GitHub repo main branch for the latest stable release (requires Git Updater plugin, best for monitored updates where the latest features and fixes are needed immediately)
|
||||
* **Gitea**: Updates directly from the Gitea repo main branch for the latest stable release (requires Git Updater plugin, best for monitored updates and independence from big-tech)
|
||||
4. Click "Save" to apply your preference
|
||||
|
||||
If no preference is set, the plugin will automatically use the source it was installed from.
|
||||
|
||||
**Note:** GitHub and Gitea options require the Git Updater plugin to be installed and activated.
|
||||
|
||||
== Contributing ==
|
||||
|
||||
Contributions are welcome! Please follow these steps to set up a development environment:
|
||||
|
||||
1. Install [LocalWP](https://localwp.com/) and create a clean site called "Plugin Testing" using the "Preferred" setup option
|
||||
2. Run "Site shell" once from the LocalWP page on the site's settings to ensure wp-cli is enabled
|
||||
3. Run "Add Run Configurations to VS Code" to update site configuration files in: ~/Local/plugin-testing/conf/
|
||||
4. Clone this repository to your local machine
|
||||
5. Use the build.sh and deploy-local.sh scripts to build and deploy the plugin for testing
|
||||
|
||||
[AugmentCode.com](https://augmentcode.com/) is recommended as a good all-in-one AI IDE for plugin development and testing.
|
||||
|
||||
Please feel free to submit a Pull Request with your improvements.
|
||||
|
||||
== Frequently Asked Questions ==
|
||||
|
||||
= Is it safe to remove plugin references? =
|
||||
@ -149,6 +179,15 @@ Manually editing the WordPress database is risky and requires technical knowledg
|
||||
|
||||
== Changelog ==
|
||||
|
||||
= 2.1.1 =
|
||||
* Added: New "Choose Update Source" feature allowing users to select their preferred update source (WordPress.org, GitHub, or Gitea)
|
||||
* Added: Modal dialog with detailed information about each update source option
|
||||
* Added: Visual indicator showing the currently selected update source
|
||||
* Fixed: Updated heading styles in CHANGELOG.md for better readability
|
||||
* Fixed: Corrected dates in changelog to use 2025 instead of 2024
|
||||
* Improved: Documentation improvements for better clarity
|
||||
* Improved: Enhanced Git Updater integration with user-selectable update sources
|
||||
|
||||
= 2.1.0 =
|
||||
* Minor version bump for Git Updater compatibility
|
||||
* Improved error handling for Git Updater integration
|
||||
@ -476,6 +515,9 @@ Manually editing the WordPress database is risky and requires technical knowledg
|
||||
|
||||
== Upgrade Notice ==
|
||||
|
||||
= 2.1.1 =
|
||||
Added new "Choose Update Source" feature allowing you to select where to receive plugin updates from (WordPress.org, GitHub, or Gitea).
|
||||
|
||||
= 2.1.0 =
|
||||
Minor version bump with improved Git Updater compatibility and error handling.
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
* Plugin Name: Fix 'Plugin file does not exist' Notices
|
||||
* Plugin URI: https://www.wpallstars.com
|
||||
* Description: Adds missing plugins to your plugins list with a "Remove Notice" action link, allowing you to safely clean up invalid plugin references.
|
||||
* Version: 2.1.0
|
||||
* Version: 2.1.1
|
||||
* Author: Marcus Quinn & WP ALLSTARS
|
||||
* Author URI: https://www.wpallstars.com
|
||||
* License: GPL-2.0+
|
||||
@ -26,7 +26,7 @@ if ( ! defined( 'WPINC' ) ) {
|
||||
}
|
||||
|
||||
// Define plugin constants.
|
||||
define( 'FPDEN_VERSION', '2.1.0' );
|
||||
define( 'FPDEN_VERSION', '2.1.1' );
|
||||
define( 'FPDEN_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
|
||||
define( 'FPDEN_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
|
||||
|
||||
@ -40,6 +40,15 @@ add_action('plugins_loaded', 'fpden_init_git_updater_fixes');
|
||||
* It uses named functions instead of anonymous functions for better compatibility
|
||||
*/
|
||||
function fpden_init_git_updater_fixes() {
|
||||
// Add filter for plugin action links to add our update source selector
|
||||
add_filter('plugin_action_links_' . plugin_basename(__FILE__), 'fpden_add_update_source_link');
|
||||
|
||||
// Add AJAX handler for saving update source
|
||||
add_action('wp_ajax_fpden_save_update_source', 'fpden_save_update_source');
|
||||
|
||||
// Add the update source modal to admin footer
|
||||
add_action('admin_footer', 'fpden_add_update_source_modal');
|
||||
|
||||
// Fix for Git Updater looking for 'master' branch instead of 'main'
|
||||
add_filter('gu_get_repo_branch', 'fpden_override_branch', 999, 3);
|
||||
|
||||
@ -876,6 +885,143 @@ class Fix_Plugin_Does_Not_Exist_Notices {
|
||||
// Initialize the plugin class.
|
||||
new Fix_Plugin_Does_Not_Exist_Notices();
|
||||
|
||||
/**
|
||||
* Add the "Choose Update Source" link to plugin action links
|
||||
*
|
||||
* @param array $links Array of plugin action links
|
||||
* @return array Modified array of plugin action links
|
||||
*/
|
||||
function fpden_add_update_source_link($links) {
|
||||
if (!current_user_can('manage_options')) {
|
||||
return $links;
|
||||
}
|
||||
|
||||
// Get current update source
|
||||
$current_source = get_option('fpden_update_source', 'auto');
|
||||
|
||||
// Add a badge to show the current source
|
||||
$badge_class = 'fpden-source-badge ' . $current_source;
|
||||
$badge_text = ucfirst($current_source);
|
||||
if ($current_source === 'auto') {
|
||||
$badge_text = 'Auto';
|
||||
} elseif ($current_source === 'wordpress.org') {
|
||||
$badge_text = 'WP.org';
|
||||
}
|
||||
|
||||
// Add the link with the badge
|
||||
$update_source_link = '<a href="#" class="fpden-update-source-toggle">Choose Update Source <span class="' . $badge_class . '">' . $badge_text . '</span></a>';
|
||||
$links[] = $update_source_link;
|
||||
|
||||
return $links;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the update source modal to the admin footer
|
||||
*/
|
||||
function fpden_add_update_source_modal() {
|
||||
if (!is_admin() || !current_user_can('manage_options')) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Only show on plugins page
|
||||
$screen = get_current_screen();
|
||||
if (!$screen || $screen->id !== 'plugins') {
|
||||
return;
|
||||
}
|
||||
|
||||
// Get current source
|
||||
$current_source = get_option('fpden_update_source', 'auto');
|
||||
|
||||
// Enqueue the CSS and JS
|
||||
wp_enqueue_style(
|
||||
'fpden-update-source-selector',
|
||||
FPDEN_PLUGIN_URL . 'assets/css/update-source-selector.css',
|
||||
array(),
|
||||
FPDEN_VERSION
|
||||
);
|
||||
|
||||
wp_enqueue_script(
|
||||
'fpden-update-source-selector',
|
||||
FPDEN_PLUGIN_URL . 'assets/js/update-source-selector.js',
|
||||
array('jquery'),
|
||||
FPDEN_VERSION,
|
||||
true
|
||||
);
|
||||
|
||||
// Add nonce to the existing fpdenData object or create it if it doesn't exist
|
||||
$nonce = wp_create_nonce('fpden_update_source');
|
||||
wp_localize_script(
|
||||
'fpden-update-source-selector',
|
||||
'fpdenData',
|
||||
array(
|
||||
'updateSourceNonce' => $nonce,
|
||||
)
|
||||
);
|
||||
|
||||
// Modal HTML
|
||||
?>
|
||||
<div id="fpden-update-source-modal">
|
||||
<a href="#" class="fpden-close-modal" aria-label="Close modal">×</a>
|
||||
<h2>Choose Update Source</h2>
|
||||
<p>Select where you want to receive plugin updates from:</p>
|
||||
|
||||
<form id="fpden-update-source-form">
|
||||
<label>
|
||||
<input type="radio" name="update_source" value="wordpress.org" <?php checked($current_source, 'wordpress.org'); ?>>
|
||||
WordPress.org
|
||||
<span class="fpden-source-description">Updates from the official WordPress.org plugin repository. Has a version update delay, to allow for the WP.org policy review and approval process. Best for unmonitored auto-updates.</span>
|
||||
</label>
|
||||
|
||||
<label>
|
||||
<input type="radio" name="update_source" value="github" <?php checked($current_source, 'github'); ?>>
|
||||
GitHub
|
||||
<span class="fpden-source-description">Update directly from the GitHub repo main branch for the latest stable release. Git Updater plugin must be installed & active. Best for monitored updates, where the latest features and fixes are required as soon as they are merged into the main branch.</span>
|
||||
</label>
|
||||
|
||||
<label>
|
||||
<input type="radio" name="update_source" value="gitea" <?php checked($current_source, 'gitea'); ?>>
|
||||
Gitea
|
||||
<span class="fpden-source-description">Update directly from the Gitea repo main branch for the latest stable release. Git Updater plugin must be installed & active. Best for monitored updates, where the latest features and fixes are required as soon as they are merged into the main branch, and independence from big-tech.</span>
|
||||
</label>
|
||||
|
||||
<div class="fpden-submit-container">
|
||||
<button type="submit" class="button button-primary">Save</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle AJAX request to save update source
|
||||
*/
|
||||
function fpden_save_update_source() {
|
||||
// Check nonce
|
||||
check_ajax_referer('fpden_update_source', 'nonce');
|
||||
|
||||
// Check permissions
|
||||
if (!current_user_can('manage_options')) {
|
||||
wp_send_json_error('Permission denied');
|
||||
}
|
||||
|
||||
// Get and sanitize source
|
||||
$source = isset($_POST['source']) ? sanitize_text_field($_POST['source']) : '';
|
||||
|
||||
// Validate source
|
||||
$valid_sources = ['wordpress.org', 'github', 'gitea'];
|
||||
if (!in_array($source, $valid_sources)) {
|
||||
$source = ''; // Empty means use auto-detection
|
||||
}
|
||||
|
||||
// Save option
|
||||
update_option('fpden_update_source', $source);
|
||||
|
||||
// Clear update cache
|
||||
delete_site_transient('update_plugins');
|
||||
|
||||
wp_send_json_success();
|
||||
}
|
||||
|
||||
// This function was previously deactivating all plugins except our plugin and Git Updater
|
||||
// It has been disabled to allow other plugins to be activated
|
||||
// Uncomment the following code if you need to troubleshoot plugin conflicts
|
||||
|