Compare commits
8 Commits
v2.1.0
...
7c0dadac08
Author | SHA1 | Date | |
---|---|---|---|
7c0dadac08 | |||
717a2721e8 | |||
0ced75f9b7 | |||
009b67c0cc | |||
eac794c54a | |||
5e8da5d87b | |||
3ebcaccf98 | |||
fda33746e5 |
@ -177,10 +177,14 @@ Before releasing:
|
|||||||
|
|
||||||
### Local Testing Environment
|
### Local Testing Environment
|
||||||
|
|
||||||
- Local WordPress testing environment is at ~/Local/plugin-testing/app/public
|
Local environment variables and paths are documented in `.ai-workflows/local-env-vars.md`. This includes:
|
||||||
- Plugin testing directory is at ~/Local/plugin-testing/app/public/wp-content/plugins
|
|
||||||
- WP-CLI is available at ~/Local/plugin-testing/app/bin/wp
|
- Repository paths
|
||||||
- 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 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
|
### 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
.github/workflows/assets.yml
vendored
@ -6,7 +6,6 @@ on:
|
|||||||
- main
|
- main
|
||||||
paths:
|
paths:
|
||||||
- '.wordpress-org/**'
|
- '.wordpress-org/**'
|
||||||
- 'assets/**'
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
assets:
|
assets:
|
||||||
@ -15,10 +14,10 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: WordPress.org plugin asset/readme update
|
- name: WordPress.org plugin asset/readme update
|
||||||
uses: 10up/action-wordpress-plugin-asset-update@stable
|
uses: 10up/action-wordpress-plugin-asset-update@stable
|
||||||
env:
|
env:
|
||||||
SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }}
|
SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }}
|
||||||
SVN_USERNAME: ${{ secrets.SVN_USERNAME }}
|
SVN_USERNAME: ${{ secrets.SVN_USERNAME }}
|
||||||
SLUG: wp-fix-plugin-does-not-exist-notices
|
SLUG: wp-fix-plugin-does-not-exist-notices
|
@ -5,21 +5,40 @@ This directory contains assets specific to the WordPress.org plugin repository a
|
|||||||
## Directory Structure
|
## Directory Structure
|
||||||
|
|
||||||
```
|
```
|
||||||
/assets/
|
/.wordpress-org/
|
||||||
icon-256x256.png
|
/assets/
|
||||||
icon-128x128.png
|
icon-256x256.png
|
||||||
banner-772x250.png
|
icon-128x128.png
|
||||||
banner-1544x500.png
|
banner-772x250.png
|
||||||
screenshot-1.png
|
banner-1544x500.png
|
||||||
|
screenshot-1.png
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Asset Organization
|
||||||
|
|
||||||
|
- **All Asset Files**: All files for WordPress.org are stored in this directory (`.wordpress-org/assets/`)
|
||||||
|
- PNG files (icon-256x256.png, banner-772x250.png, etc.)
|
||||||
|
- Source files (PXD, SVG)
|
||||||
|
- Documentation
|
||||||
|
|
||||||
## Purpose
|
## 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.
|
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
|
## 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
|
## Right-to-Left (RTL) Support
|
||||||
|
|
||||||
@ -31,9 +50,16 @@ 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.
|
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. Use all asset files from the `.wordpress-org/assets/` directory
|
||||||
|
2. Copy these files to the appropriate locations in the build directory
|
||||||
|
|
||||||
## Additional Resources
|
## Additional Resources
|
||||||
|
|
||||||
For more detailed information about WordPress.org plugin assets, please see:
|
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 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 Plugin Directory README.txt Standard](https://developer.wordpress.org/plugins/wordpress-org/how-your-readme-txt-works/)
|
||||||
|
- [WordPress.org Plugin Submission Assets Guide](./.wordpress-org/WORDPRESS_ORG_ASSETS.md)
|
@ -39,7 +39,7 @@ Note: `-rtl` is specifically for Right-to-Left language support, not for dark th
|
|||||||
- Required: 256x256 pixels (`icon-256x256.png`)
|
- Required: 256x256 pixels (`icon-256x256.png`)
|
||||||
- Optional: 128x128 pixels (`icon-128x128.png`)
|
- Optional: 128x128 pixels (`icon-128x128.png`)
|
||||||
- **Location**: Upload to the `/assets/` directory in the WordPress.org SVN repository
|
- **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
|
### 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`)
|
- Required: 772x250 pixels (`banner-772x250.png`)
|
||||||
- Optional: 1544x500 pixels (`banner-1544x500.png`) for high-DPI displays
|
- Optional: 1544x500 pixels (`banner-1544x500.png`) for high-DPI displays
|
||||||
- **Location**: Upload to the `/assets/` directory in the WordPress.org SVN repository
|
- **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
|
### Screenshots
|
||||||
|
|
||||||
- **Format**: PNG
|
- **Format**: PNG
|
||||||
- **Naming**: `screenshot-1.png`
|
- **Naming**: `screenshot-1.png`
|
||||||
- **Location**: Upload to the `/assets/` directory in the WordPress.org SVN repository
|
- **Location**: Upload to the `/assets/` directory in the WordPress.org SVN repository
|
||||||
- **Status**: ✅ READY
|
- **Status**: ✅ READY - Files are in `.wordpress-org/assets/`
|
||||||
- `screenshot-1.png` is available in `assets/screenshots/`
|
|
||||||
|
|
||||||
## Submission Process
|
## 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/
|
cp -r [your-local-plugin-files]/* fix-plugin-does-not-exist-notices/trunk/
|
||||||
|
|
||||||
# Copy assets to assets directory
|
# Copy assets to assets directory
|
||||||
cp assets/icon/icon-256x256.png fix-plugin-does-not-exist-notices/assets/
|
cp .wordpress-org/assets/icon-256x256.png fix-plugin-does-not-exist-notices/assets/
|
||||||
cp assets/icon/icon-128x128.png fix-plugin-does-not-exist-notices/assets/
|
cp .wordpress-org/assets/icon-128x128.png fix-plugin-does-not-exist-notices/assets/
|
||||||
cp assets/banner/banner-772x250.png fix-plugin-does-not-exist-notices/assets/
|
cp .wordpress-org/assets/banner-772x250.png fix-plugin-does-not-exist-notices/assets/
|
||||||
cp assets/banner/banner-1544x500.png fix-plugin-does-not-exist-notices/assets/
|
cp .wordpress-org/assets/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/screenshot-1.png fix-plugin-does-not-exist-notices/assets/
|
||||||
|
|
||||||
# Add new files
|
# Add new files
|
||||||
cd fix-plugin-does-not-exist-notices
|
cd fix-plugin-does-not-exist-notices
|
||||||
@ -114,10 +113,10 @@ For converting SVG to PNG or creating different sizes of images, you can use:
|
|||||||
- **Command Line** (using ImageMagick):
|
- **Command Line** (using ImageMagick):
|
||||||
```bash
|
```bash
|
||||||
# For 256x256 icon
|
# For 256x256 icon
|
||||||
convert -background none -size 256x256 assets/icon/icon.svg assets/icon/icon-256x256.png
|
convert -background none -size 256x256 .wordpress-org/assets/icon.svg .wordpress-org/assets/icon-256x256.png
|
||||||
|
|
||||||
# For 128x128 icon
|
# For 128x128 icon
|
||||||
convert -background none -size 128x128 assets/icon/icon.svg assets/icon/icon-128x128.png
|
convert -background none -size 128x128 .wordpress-org/assets/icon.svg .wordpress-org/assets/icon-128x128.png
|
||||||
```
|
```
|
||||||
|
|
||||||
## Resources
|
## Resources
|
@ -30,15 +30,15 @@ This document outlines the requirements for assets when submitting a plugin to t
|
|||||||
## Current Status
|
## Current Status
|
||||||
|
|
||||||
### Icon
|
### Icon
|
||||||
- ✅ SVG source available in `assets/icon/icon.svg`
|
- ✅ SVG source available in `.wordpress-org/assets/icon.svg`
|
||||||
- ✅ PNG files created in `assets/icon/icon-256x256.png` and `assets/icon/icon-128x128.png`
|
- ✅ PNG files created in `.wordpress-org/assets/icon-256x256.png` and `.wordpress-org/assets/icon-128x128.png`
|
||||||
|
|
||||||
### Banner
|
### Banner
|
||||||
- ✅ Both sizes available in `assets/banner/`
|
- ✅ Both sizes available in `.wordpress-org/assets/`
|
||||||
- ✅ Properly named files: `banner-772x250.png` and `banner-1544x500.png`
|
- ✅ Properly named files: `banner-772x250.png` and `banner-1544x500.png`
|
||||||
|
|
||||||
### Screenshots
|
### Screenshots
|
||||||
- ✅ One screenshot available in `assets/screenshots/screenshot-1.png`
|
- ✅ One screenshot available in `.wordpress-org/assets/screenshot-1.png`
|
||||||
- ✅ Screenshot description in readme.txt updated to reference only one screenshot
|
- ✅ Screenshot description in readme.txt updated to reference only one screenshot
|
||||||
|
|
||||||
## SVN Directory Structure
|
## SVN Directory Structure
|
||||||
@ -68,11 +68,11 @@ When submitting to WordPress.org, your SVN repository will have this structure:
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Copy assets to WordPress.org SVN assets directory
|
# Copy assets to WordPress.org SVN assets directory
|
||||||
cp assets/icon/icon-256x256.png /path/to/wordpress-svn/assets/
|
cp .wordpress-org/assets/icon-256x256.png /path/to/wordpress-svn/assets/
|
||||||
cp assets/icon/icon-128x128.png /path/to/wordpress-svn/assets/
|
cp .wordpress-org/assets/icon-128x128.png /path/to/wordpress-svn/assets/
|
||||||
cp assets/banner/banner-772x250.png /path/to/wordpress-svn/assets/
|
cp .wordpress-org/assets/banner-772x250.png /path/to/wordpress-svn/assets/
|
||||||
cp assets/banner/banner-1544x500.png /path/to/wordpress-svn/assets/
|
cp .wordpress-org/assets/banner-1544x500.png /path/to/wordpress-svn/assets/
|
||||||
cp assets/screenshots/screenshot-1.png /path/to/wordpress-svn/assets/
|
cp .wordpress-org/assets/screenshot-1.png /path/to/wordpress-svn/assets/
|
||||||
```
|
```
|
||||||
|
|
||||||
## Resources
|
## Resources
|
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
|
#### Fixed
|
||||||
##### Changed
|
- 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
|
- Minor version bump for Git Updater compatibility
|
||||||
|
|
||||||
##### Improved
|
#### Improved
|
||||||
- Error handling for Git Updater integration
|
- Error handling for Git Updater integration
|
||||||
- Type checking in branch fix functions
|
- Type checking in branch fix functions
|
||||||
- Documentation for Git Updater installation and cache refreshing
|
- Documentation for Git Updater installation and cache refreshing
|
||||||
|
|
||||||
#### [2.0.13] - 2024-05-20
|
#### [2.0.13] - 2025-04-12
|
||||||
##### Fixed
|
#### Fixed
|
||||||
- Critical error when Git Updater passes an object instead of a string to API URL filter
|
- 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
|
- Type checking in branch fix functions to handle both string and object inputs
|
||||||
|
|
||||||
##### Improved
|
#### Improved
|
||||||
- Error handling for Git Updater integration
|
- Error handling for Git Updater integration
|
||||||
- Documentation for Git Updater installation and cache refreshing
|
- Documentation for Git Updater installation and cache refreshing
|
||||||
|
|
||||||
#### [2.0.12] - 2024-05-19
|
#### [2.0.12] - 2025-04-11
|
||||||
##### Fixed
|
#### Fixed
|
||||||
- Integrated Git Updater branch fix directly into main plugin
|
- Integrated Git Updater branch fix directly into main plugin
|
||||||
- Removed separate "GU Branch Fix" plugin (no longer needed)
|
- Removed separate "GU Branch Fix" plugin (no longer needed)
|
||||||
|
|
||||||
##### Added
|
#### Added
|
||||||
- Documentation explaining branch fix integration
|
- Documentation explaining branch fix integration
|
||||||
|
|
||||||
##### Improved
|
#### Improved
|
||||||
- Compatibility with Git Updater plugin
|
- Compatibility with Git Updater plugin
|
||||||
- Deploy script to remove separate branch fix plugin
|
- Deploy script to remove separate branch fix plugin
|
||||||
|
|
||||||
#### [2.0.11] - 2024-05-19
|
#### [2.0.11] - 2025-04-10
|
||||||
##### Added
|
#### Added
|
||||||
- Created separate "GU Branch Fix" plugin to fix Git Updater branch issues
|
- Created separate "GU Branch Fix" plugin to fix Git Updater branch issues
|
||||||
- Added deploy script for local testing
|
- Added deploy script for local testing
|
||||||
|
|
||||||
##### Fixed
|
#### Fixed
|
||||||
- Git Updater branch issues with 'main' vs 'master' branch names
|
- Git Updater branch issues with 'main' vs 'master' branch names
|
||||||
- Improved compatibility with Git Updater plugin
|
- Improved compatibility with Git Updater plugin
|
||||||
|
|
||||||
#### [2.0.10] - 2024-05-18
|
#### [2.0.10] - 2025-04-09
|
||||||
##### Fixed
|
#### Fixed
|
||||||
- Plugin details popup version display issue with Git Updater integration
|
- Plugin details popup version display issue with Git Updater integration
|
||||||
- Added JavaScript-based solution to ensure correct version display in plugin details
|
- Added JavaScript-based solution to ensure correct version display in plugin details
|
||||||
|
|
||||||
##### Improved
|
#### Improved
|
||||||
- Version consistency across all plugin views
|
- Version consistency across all plugin views
|
||||||
- Enhanced cache busting for plugin information API
|
- Enhanced cache busting for plugin information API
|
||||||
|
|
||||||
#### [2.0.9] - 2024-05-18
|
#### [2.0.9] - 2025-04-08
|
||||||
##### Fixed
|
#### Fixed
|
||||||
- Plugin details popup now correctly shows version and author information
|
- Plugin details popup now correctly shows version and author information
|
||||||
- Added support for both old and new plugin slugs to fix caching issues
|
- 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
|
- Cache clearing mechanism to ensure plugin details are always up-to-date
|
||||||
- Enhanced version display in plugin details popup
|
- Enhanced version display in plugin details popup
|
||||||
|
|
||||||
#### [2.0.8] - 2024-05-17
|
#### [2.0.8] - 2025-04-07
|
||||||
##### Fixed
|
#### Fixed
|
||||||
- Plugin details popup now correctly shows version and author information
|
- Plugin details popup now correctly shows version and author information
|
||||||
- Added cache-busting mechanism to ensure plugin details are always up-to-date
|
- Added cache-busting mechanism to ensure plugin details are always up-to-date
|
||||||
|
|
||||||
##### Improved
|
#### Improved
|
||||||
- Author and contributor information display in plugin details
|
- Author and contributor information display in plugin details
|
||||||
- Added WordPress 6.5 compatibility indicator
|
- Added WordPress 6.5 compatibility indicator
|
||||||
|
|
||||||
#### [2.0.7] - 2024-05-17
|
#### [2.0.7] - 2025-04-06
|
||||||
##### Changed
|
#### Changed
|
||||||
- Additional text improvements and minor fixes
|
- Additional text improvements and minor fixes
|
||||||
|
|
||||||
#### [2.0.6] - 2024-05-17
|
#### [2.0.6] - 2025-04-05
|
||||||
##### Changed
|
#### Changed
|
||||||
- Text improvements and minor fixes
|
- Text improvements and minor fixes
|
||||||
|
|
||||||
#### [2.0.5] - 2024-05-17
|
#### [2.0.5] - 2025-04-04
|
||||||
##### Fixed
|
#### Fixed
|
||||||
- Display correct version in plugin details popup
|
- Display correct version in plugin details popup
|
||||||
|
|
||||||
#### [2.0.4] - 2024-05-17
|
#### [2.0.4] - 2025-04-03
|
||||||
##### Fixed
|
#### Fixed
|
||||||
- Display actual plugin version instead of 'N/A' for missing plugins in plugin details view
|
- Display actual plugin version instead of 'N/A' for missing plugins in plugin details view
|
||||||
|
|
||||||
#### [2.0.2] - 2024-05-17
|
#### [2.0.2] - 2025-04-02
|
||||||
##### Changed
|
#### Changed
|
||||||
- Consolidated WordPress.org assets into .wordpress-org directory
|
- Consolidated WordPress.org assets into .wordpress-org directory
|
||||||
- Improved organization of assets for WordPress.org submission
|
- Improved organization of assets for WordPress.org submission
|
||||||
- Updated .wordpress-org/README.md with comprehensive information
|
- Updated .wordpress-org/README.md with comprehensive information
|
||||||
|
|
||||||
#### [2.0.1] - 2024-05-17
|
#### [2.0.1] - 2025-04-01
|
||||||
##### Added
|
#### Added
|
||||||
- Contributing section to readme.txt
|
- Contributing section to readme.txt
|
||||||
- reference-plugins directory for plugin development inspiration
|
- reference-plugins directory for plugin development inspiration
|
||||||
|
|
||||||
##### Changed
|
#### Changed
|
||||||
- Updated "tested up to" version to WordPress 6.7.2
|
- Updated "tested up to" version to WordPress 6.7.2
|
||||||
- Improved .gitattributes with comprehensive file handling
|
- Improved .gitattributes with comprehensive file handling
|
||||||
- Enhanced documentation organization
|
- Enhanced documentation organization
|
||||||
|
|
||||||
#### [2.0.0] - 2024-05-17
|
#### [2.0.0] - 2025-03-31
|
||||||
##### Added
|
#### Added
|
||||||
- Note clarifying that the plugin has no settings page
|
- Note clarifying that the plugin has no settings page
|
||||||
- Clarification that functionality is limited to the admin plugins page only
|
- Clarification that functionality is limited to the admin plugins page only
|
||||||
|
|
||||||
##### Changed
|
#### Changed
|
||||||
- Major version release for WordPress.org submission
|
- Major version release for WordPress.org submission
|
||||||
- Finalized all assets and documentation for public release
|
- Finalized all assets and documentation for public release
|
||||||
|
|
||||||
#### [1.6.28] - 2024-05-17
|
#### [1.6.28] - 2025-03-30
|
||||||
##### Changed
|
#### Changed
|
||||||
- Consolidated asset documentation into a single comprehensive guide
|
- Consolidated asset documentation into a single comprehensive guide
|
||||||
- Clarified that `-rtl` suffix is for Right-to-Left languages, not dark mode
|
- Clarified that `-rtl` suffix is for Right-to-Left languages, not dark mode
|
||||||
- Updated all asset README files to point to the main documentation
|
- Updated all asset README files to point to the main documentation
|
||||||
- Improved file organization and documentation structure
|
- Improved file organization and documentation structure
|
||||||
|
|
||||||
#### [1.6.27] - 2024-05-17
|
#### [1.6.27] - 2025-03-29
|
||||||
##### Changed
|
#### Changed
|
||||||
- Clarified RTL support in WordPress.org asset documentation
|
- Clarified RTL support in WordPress.org asset documentation
|
||||||
- Corrected information about `-rtl` suffix for assets (for right-to-left languages, not dark themes)
|
- Corrected information about `-rtl` suffix for assets (for right-to-left languages, not dark themes)
|
||||||
- Consolidated asset files and improved documentation
|
- Consolidated asset files and improved documentation
|
||||||
|
|
||||||
#### [1.6.26] - 2024-05-17
|
#### [1.6.26] - 2025-03-28
|
||||||
##### Changed
|
#### Changed
|
||||||
- Updated screenshot references to use a single comprehensive screenshot
|
- Updated screenshot references to use a single comprehensive screenshot
|
||||||
- Fixed asset directory paths in documentation
|
- Fixed asset directory paths in documentation
|
||||||
- Improved ImageMagick conversion commands for icon generation
|
- Improved ImageMagick conversion commands for icon generation
|
||||||
- Clarified WordPress.org SVN repository structure
|
- Clarified WordPress.org SVN repository structure
|
||||||
|
|
||||||
#### [1.6.25] - 2024-05-17
|
#### [1.6.25] - 2025-03-27
|
||||||
##### Added
|
#### Added
|
||||||
- Comprehensive WordPress.org submission guide with SVN structure explanation
|
- Comprehensive WordPress.org submission guide with SVN structure explanation
|
||||||
|
|
||||||
##### Changed
|
#### Changed
|
||||||
- Consolidated asset files into their respective directories
|
- Consolidated asset files into their respective directories
|
||||||
- Clarified asset requirements and submission process
|
- Clarified asset requirements and submission process
|
||||||
- Improved organization of asset files
|
- Improved organization of asset files
|
||||||
|
|
||||||
#### [1.6.24] - 2024-05-17
|
#### [1.6.24] - 2025-03-26
|
||||||
##### Added
|
#### Added
|
||||||
- Properly named icon PNG files (icon-256x256.png and icon-128x128.png)
|
- Properly named icon PNG files (icon-256x256.png and icon-128x128.png)
|
||||||
|
|
||||||
##### Changed
|
#### Changed
|
||||||
- Updated asset preparation documentation
|
- Updated asset preparation documentation
|
||||||
- Improved WordPress.org submission readiness
|
- Improved WordPress.org submission readiness
|
||||||
|
|
||||||
#### [1.6.23] - 2024-05-17
|
#### [1.6.23] - 2025-03-25
|
||||||
##### Added
|
#### Added
|
||||||
- Properly named icon, banner, and screenshot files for WordPress.org submission
|
- Properly named icon, banner, and screenshot files for WordPress.org submission
|
||||||
- Comprehensive guide for WordPress.org asset requirements
|
- Comprehensive guide for WordPress.org asset requirements
|
||||||
|
|
||||||
##### Changed
|
#### Changed
|
||||||
- Fixed file naming to comply with WordPress.org standards
|
- Fixed file naming to comply with WordPress.org standards
|
||||||
- Organized assets in separate directories for better management
|
- Organized assets in separate directories for better management
|
||||||
|
|
||||||
#### [1.6.22] - 2024-05-17
|
#### [1.6.22] - 2025-03-24
|
||||||
##### Changed
|
#### Changed
|
||||||
- Enhanced support section with multiple support channel options
|
- Enhanced support section with multiple support channel options
|
||||||
- Added encouragement for users to leave reviews on WordPress.org
|
- Added encouragement for users to leave reviews on WordPress.org
|
||||||
- Improved documentation with clearer support instructions
|
- Improved documentation with clearer support instructions
|
||||||
|
|
||||||
#### [1.6.21] - 2024-05-17
|
#### [1.6.21] - 2025-03-23
|
||||||
##### Added
|
#### Added
|
||||||
- Support for more AI-powered development tools (Roo, Gemini, Loveable, Bolt, Cody, Continue)
|
- Support for more AI-powered development tools (Roo, Gemini, Loveable, Bolt, Cody, Continue)
|
||||||
- Links to supported AI IDEs in documentation
|
- Links to supported AI IDEs in documentation
|
||||||
- Additional FAQs for better SEO
|
- Additional FAQs for better SEO
|
||||||
|
|
||||||
##### Changed
|
#### Changed
|
||||||
- Updated AI configuration files with modern models (gpt-4o)
|
- Updated AI configuration files with modern models (gpt-4o)
|
||||||
- Made documentation more generic for boilerplate use
|
- Made documentation more generic for boilerplate use
|
||||||
- Enhanced explanations in configuration files
|
- Enhanced explanations in configuration files
|
||||||
- Added more keywords for better SEO
|
- Added more keywords for better SEO
|
||||||
|
|
||||||
#### [1.6.20] - 2024-05-17
|
#### [1.6.20] - 2025-03-22
|
||||||
##### Changed
|
#### Changed
|
||||||
- Added explanations about the ! prefix in ignore files
|
- Added explanations about the ! prefix in ignore files
|
||||||
- Moved WordPress-specific patterns to .gitignore
|
- Moved WordPress-specific patterns to .gitignore
|
||||||
- Further improved organization of ignore patterns
|
- Further improved organization of ignore patterns
|
||||||
- Added examples of how to include files excluded by .gitignore
|
- Added examples of how to include files excluded by .gitignore
|
||||||
|
|
||||||
#### [1.6.19] - 2024-05-17
|
#### [1.6.19] - 2025-03-21
|
||||||
##### Changed
|
#### Changed
|
||||||
- Consolidated common ignore patterns into .gitignore
|
- Consolidated common ignore patterns into .gitignore
|
||||||
- Simplified AI IDE configuration files to only include tool-specific patterns
|
- Simplified AI IDE configuration files to only include tool-specific patterns
|
||||||
- Improved organization of ignore patterns for better maintainability
|
- Improved organization of ignore patterns for better maintainability
|
||||||
- Added more file types to .gitignore for comprehensive coverage
|
- Added more file types to .gitignore for comprehensive coverage
|
||||||
|
|
||||||
#### [1.6.18] - 2024-05-17
|
#### [1.6.18] - 2025-03-20
|
||||||
##### Changed
|
#### Changed
|
||||||
- Optimized AI IDE configuration files to only include patterns not in .gitignore
|
- Optimized AI IDE configuration files to only include patterns not in .gitignore
|
||||||
- Improved efficiency of ignore files for better AI context management
|
- Improved efficiency of ignore files for better AI context management
|
||||||
- Enhanced compatibility with various AI-powered development tools
|
- Enhanced compatibility with various AI-powered development tools
|
||||||
|
|
||||||
#### [1.6.17] - 2024-05-17
|
#### [1.6.17] - 2025-03-19
|
||||||
##### Added
|
#### Added
|
||||||
- .augmentignore file with best practices
|
- .augmentignore file with best practices
|
||||||
- Configuration files for Cursor, Windsurf, v0, and Cline IDEs
|
- Configuration files for Cursor, Windsurf, v0, and Cline IDEs
|
||||||
- More design file formats to .gitignore
|
- More design file formats to .gitignore
|
||||||
- .aiconfig file for general AI IDE compatibility
|
- .aiconfig file for general AI IDE compatibility
|
||||||
|
|
||||||
#### [1.6.16] - 2024-05-17
|
#### [1.6.16] - 2025-03-18
|
||||||
##### Fixed
|
#### Fixed
|
||||||
- Updated CI configuration files with correct plugin slugs
|
- Updated CI configuration files with correct plugin slugs
|
||||||
- Updated CHANGELOG.md with all recent versions
|
- Updated CHANGELOG.md with all recent versions
|
||||||
- Fixed outdated references to plugin-reference-cleaner
|
- Fixed outdated references to plugin-reference-cleaner
|
||||||
|
|
||||||
#### [1.6.15] - 2024-05-17
|
#### [1.6.15] - 2025-03-17
|
||||||
##### Changed
|
#### Changed
|
||||||
- Moved AI workflow documentation to root directory for better visibility
|
- Moved AI workflow documentation to root directory for better visibility
|
||||||
- Consolidated duplicate workflow files
|
- Consolidated duplicate workflow files
|
||||||
- Improved organization of development documentation
|
- Improved organization of development documentation
|
||||||
- Updated CI configuration files with correct plugin slugs
|
- Updated CI configuration files with correct plugin slugs
|
||||||
|
|
||||||
#### [1.6.14] - 2024-05-17
|
#### [1.6.14] - 2025-03-16
|
||||||
##### Changed
|
#### Changed
|
||||||
- Updated documentation to consistently use "Remove Notice" instead of "Remove Reference"
|
- Updated documentation to consistently use "Remove Notice" instead of "Remove Reference"
|
||||||
- Added design file extensions to .gitignore (.pxd, .afdesign, .afphoto, .afpub)
|
- Added design file extensions to .gitignore (.pxd, .afdesign, .afphoto, .afpub)
|
||||||
- Improved explanation of how the plugin works
|
- Improved explanation of how the plugin works
|
||||||
- Ensured consistent terminology across all documentation
|
- Ensured consistent terminology across all documentation
|
||||||
|
|
||||||
#### [1.6.13] - 2024-05-17
|
#### [1.6.13] - 2025-03-15
|
||||||
##### Changed
|
#### Changed
|
||||||
- Code cleanup and optimization
|
- Code cleanup and optimization
|
||||||
- Improved Git Updater integration
|
- Improved Git Updater integration
|
||||||
- Fixed author display in plugin information
|
- Fixed author display in plugin information
|
||||||
- Ensured compatibility with WordPress 6.4
|
- Ensured compatibility with WordPress 6.4
|
||||||
|
|
||||||
#### [1.6.12] - 2024-05-17
|
#### [1.6.12] - 2025-03-14
|
||||||
##### Added
|
#### Added
|
||||||
- Added WP ALLSTARS as a co-author
|
- Added WP ALLSTARS as a co-author
|
||||||
- Updated author information and links
|
- Updated author information and links
|
||||||
- Added author websites to plugin description
|
- Added author websites to plugin description
|
||||||
- Fixed issue with multiple author URLs
|
- Fixed issue with multiple author URLs
|
||||||
|
|
||||||
#### [1.6.11] - 2024-05-17
|
#### [1.6.11] - 2025-03-13
|
||||||
##### Fixed
|
#### Fixed
|
||||||
- Improved Git Updater integration
|
- Improved Git Updater integration
|
||||||
- Fixed plugin header information
|
- Fixed plugin header information
|
||||||
- Updated author information
|
- Updated author information
|
||||||
|
|
||||||
#### [1.6.10] - 2024-05-17
|
#### [1.6.10] - 2025-03-12
|
||||||
##### Fixed
|
#### Fixed
|
||||||
- Corrected plugin header information
|
- Corrected plugin header information
|
||||||
- Improved Git Updater compatibility
|
- Improved Git Updater compatibility
|
||||||
- Updated documentation
|
- Updated documentation
|
||||||
|
|
||||||
#### [1.6.9] - 2024-05-17
|
#### [1.6.9] - 2025-03-11
|
||||||
##### Fixed
|
#### Fixed
|
||||||
- Fixed Git Updater integration
|
- Fixed Git Updater integration
|
||||||
- Updated plugin header information
|
- Updated plugin header information
|
||||||
- Improved documentation
|
- Improved documentation
|
||||||
|
|
||||||
#### [1.6.8] - 2024-05-17
|
#### [1.6.8] - 2025-03-10
|
||||||
##### Fixed
|
#### Fixed
|
||||||
- Fixed Git Updater integration
|
- Fixed Git Updater integration
|
||||||
- Updated plugin header information
|
- Updated plugin header information
|
||||||
|
|
||||||
#### [1.6.7] - 2024-05-17
|
#### [1.6.7] - 2025-03-09
|
||||||
##### Fixed
|
#### Fixed
|
||||||
- Fixed Git Updater integration
|
- Fixed Git Updater integration
|
||||||
- Updated plugin header information
|
- Updated plugin header information
|
||||||
|
|
||||||
#### [1.6.6] - 2024-05-17
|
#### [1.6.6] - 2025-03-08
|
||||||
##### Fixed
|
#### Fixed
|
||||||
- Fixed Git Updater integration
|
- Fixed Git Updater integration
|
||||||
- Updated plugin header information
|
- Updated plugin header information
|
||||||
|
|
||||||
#### [1.6.5] - 2024-05-16
|
#### [1.6.5] - 2025-03-07
|
||||||
##### Fixed
|
#### Fixed
|
||||||
- Fixed Git Updater integration
|
- Fixed Git Updater integration
|
||||||
- Updated plugin header information
|
- Updated plugin header information
|
||||||
|
|
||||||
#### [1.6.4] - 2024-05-16
|
#### [1.6.4] - 2025-03-06
|
||||||
##### Improved
|
#### Improved
|
||||||
- Version management to ensure consistent patch version increments
|
- Version management to ensure consistent patch version increments
|
||||||
- Documentation for version update process
|
- Documentation for version update process
|
||||||
- AI workflow files with detailed version increment instructions
|
- AI workflow files with detailed version increment instructions
|
||||||
|
|
||||||
#### [1.6.3] - 2024-05-15
|
#### [1.6.3] - 2025-03-05
|
||||||
##### Fixed
|
#### Fixed
|
||||||
- Git Updater repository URLs to use full repository paths
|
- Git Updater repository URLs to use full repository paths
|
||||||
- Update URI configuration for proper update detection
|
- Update URI configuration for proper update detection
|
||||||
- Version management following semantic versioning
|
- Version management following semantic versioning
|
||||||
|
|
||||||
##### Changed
|
#### Changed
|
||||||
- Updated organization name from 'WP All Stars' to 'WP ALLSTARS'
|
- Updated organization name from 'WP All Stars' to 'WP ALLSTARS'
|
||||||
- Updated namespace from 'WPAllStars' to 'WPALLSTARS'
|
- Updated namespace from 'WPAllStars' to 'WPALLSTARS'
|
||||||
|
|
||||||
#### [1.6.2] - 2024-05-15
|
#### [1.6.2] - 2025-03-04
|
||||||
##### Changed
|
#### Changed
|
||||||
- Updated POT file version for consistency
|
- Updated POT file version for consistency
|
||||||
- Improved JavaScript localization with proper fallbacks
|
- Improved JavaScript localization with proper fallbacks
|
||||||
- Enhanced code quality for WordPress.org submission
|
- Enhanced code quality for WordPress.org submission
|
||||||
##### Added
|
#### Added
|
||||||
- Git Updater configuration with Update URI
|
- Git Updater configuration with Update URI
|
||||||
- Update server URL configuration
|
- Update server URL configuration
|
||||||
|
|
||||||
#### [1.6.1] - 2024-05-15
|
#### [1.6.1] - 2025-03-03
|
||||||
##### Added
|
#### Added
|
||||||
- AI assistant guide and workflow documentation
|
- AI assistant guide and workflow documentation
|
||||||
- Detailed release process documentation
|
- Detailed release process documentation
|
||||||
- Feature development guidelines
|
- Feature development guidelines
|
||||||
- Bug fixing procedures
|
- Bug fixing procedures
|
||||||
- Code review standards
|
- Code review standards
|
||||||
|
|
||||||
#### [1.6.0] - 2024-05-15
|
#### [1.6.0] - 2025-03-02
|
||||||
##### Added
|
#### Added
|
||||||
- Full translation support with POT file
|
- Full translation support with POT file
|
||||||
- JavaScript localization for better multilingual support
|
- JavaScript localization for better multilingual support
|
||||||
- Plugin constants for improved code organization
|
- Plugin constants for improved code organization
|
||||||
- Git Updater support for updates from GitHub and Gitea
|
- Git Updater support for updates from GitHub and Gitea
|
||||||
|
|
||||||
##### Changed
|
#### Changed
|
||||||
- Updated code to follow WordPress internationalization best practices
|
- Updated code to follow WordPress internationalization best practices
|
||||||
- Improved asset loading with version constants
|
- Improved asset loading with version constants
|
||||||
- Smart update detection based on installation source
|
- Smart update detection based on installation source
|
||||||
|
|
||||||
#### [1.5.0] - 2024-05-15
|
#### [1.5.0] - 2025-03-01
|
||||||
##### Added
|
#### Added
|
||||||
- Improved compatibility with WordPress 6.4
|
- Improved compatibility with WordPress 6.4
|
||||||
- Enhanced error detection for plugin references
|
- Enhanced error detection for plugin references
|
||||||
|
|
||||||
##### Fixed
|
#### Fixed
|
||||||
- Minor UI improvements for better visibility
|
- Minor UI improvements for better visibility
|
||||||
- Accessibility enhancements for screen readers
|
- Accessibility enhancements for screen readers
|
||||||
|
|
||||||
#### [1.4.1] - 2023-11-30
|
#### [1.4.1] - 2025-02-28
|
||||||
##### Added
|
#### Added
|
||||||
- FAQ about keeping the plugin installed after notices are cleared
|
- FAQ about keeping the plugin installed after notices are cleared
|
||||||
|
|
||||||
#### [1.4.0] - 2023-11-30
|
#### [1.4.0] - 2025-02-27
|
||||||
##### Changed
|
#### Changed
|
||||||
- Updated plugin name and text domain
|
- Updated plugin name and text domain
|
||||||
- Repository rename from plugin-reference-cleaner to wp-fix-plugin-does-not-exist-notices
|
- Repository rename from plugin-reference-cleaner to wp-fix-plugin-does-not-exist-notices
|
||||||
|
|
||||||
#### [1.3.3] - 2023-10-05
|
#### [1.3.3] - 2025-02-26
|
||||||
##### Added
|
#### Added
|
||||||
- "Click here to scroll" button to automatically find missing plugins
|
- "Click here to scroll" button to automatically find missing plugins
|
||||||
- Visual arrow pointing from notification to error message
|
- Visual arrow pointing from notification to error message
|
||||||
- Smooth scrolling with highlighting of missing plugin rows
|
- Smooth scrolling with highlighting of missing plugin rows
|
||||||
|
|
||||||
##### Improved
|
#### Improved
|
||||||
- Notification reliability using multiple injection methods
|
- Notification reliability using multiple injection methods
|
||||||
- Earlier placement in page load cycle for better visibility
|
- Earlier placement in page load cycle for better visibility
|
||||||
- Enhanced error detection for all WordPress error message formats
|
- Enhanced error detection for all WordPress error message formats
|
||||||
|
|
||||||
#### [1.3.2] - 2023-10-05
|
#### [1.3.2] - 2025-02-25
|
||||||
##### Added
|
#### Added
|
||||||
- Prominent notification that appears directly below WordPress error messages
|
- Prominent notification that appears directly below WordPress error messages
|
||||||
- Visual styling to help users connect error message with solution
|
- Visual styling to help users connect error message with solution
|
||||||
- Direction arrows and highlighted text to improve user guidance
|
- Direction arrows and highlighted text to improve user guidance
|
||||||
|
|
||||||
#### [1.3.1] - 2023-10-05
|
#### [1.3.1] - 2025-02-24
|
||||||
##### Added
|
#### Added
|
||||||
- Instructional notification explaining how to use the plugin
|
- Instructional notification explaining how to use the plugin
|
||||||
- Step-by-step guidance for removing plugin references
|
- Step-by-step guidance for removing plugin references
|
||||||
- Clear visual indicators for missing plugins
|
- Clear visual indicators for missing plugins
|
||||||
|
|
||||||
#### [1.3.0] - 2023-10-05
|
#### [1.3.0] - 2025-02-23
|
||||||
##### Changed
|
#### Changed
|
||||||
- Complete redesign for maximum compatibility with all WordPress themes
|
- Complete redesign for maximum compatibility with all WordPress themes
|
||||||
- Now uses the plugins list table for missing plugin references
|
- Now uses the plugins list table for missing plugin references
|
||||||
- Uses standard WordPress admin UI patterns and hooks
|
- Uses standard WordPress admin UI patterns and hooks
|
||||||
|
|
||||||
##### Added
|
#### Added
|
||||||
- Missing plugins now appear directly in the plugins list
|
- Missing plugins now appear directly in the plugins list
|
||||||
- "Remove Reference" action link in the plugins list
|
- "Remove Reference" action link in the plugins list
|
||||||
- Success/error notices after removing references
|
- Success/error notices after removing references
|
||||||
|
|
||||||
##### Fixed
|
#### Fixed
|
||||||
- Compatibility issues with various WordPress admin themes
|
- Compatibility issues with various WordPress admin themes
|
||||||
- Reliability issues with notification detection
|
- Reliability issues with notification detection
|
||||||
|
|
||||||
#### [1.2.4] - 2023-10-05
|
#### [1.2.4] - 2025-02-22
|
||||||
##### Fixed
|
#### Fixed
|
||||||
- Compatibility with more WordPress admin UI variations
|
- Compatibility with more WordPress admin UI variations
|
||||||
- Specific targeting for admin notices in various themes
|
- Specific targeting for admin notices in various themes
|
||||||
|
|
||||||
##### Added
|
#### Added
|
||||||
- Advanced DOM traversal using TreeWalker API
|
- Advanced DOM traversal using TreeWalker API
|
||||||
- Multiple fallback approaches to ensure button appears
|
- Multiple fallback approaches to ensure button appears
|
||||||
- Enhanced console logging for troubleshooting
|
- Enhanced console logging for troubleshooting
|
||||||
|
|
||||||
#### [1.2.3] - 2023-10-05
|
#### [1.2.3] - 2025-02-21
|
||||||
##### Fixed
|
#### Fixed
|
||||||
- Button not appearing in some WordPress admin themes
|
- Button not appearing in some WordPress admin themes
|
||||||
- Error message detection for greater theme compatibility
|
- Error message detection for greater theme compatibility
|
||||||
|
|
||||||
##### Improved
|
#### Improved
|
||||||
- DOM traversal to find notification elements in various themes
|
- DOM traversal to find notification elements in various themes
|
||||||
- Added console logging for troubleshooting
|
- Added console logging for troubleshooting
|
||||||
|
|
||||||
#### [1.2.2] - 2023-10-05
|
#### [1.2.2] - 2025-02-20
|
||||||
##### Fixed
|
#### Fixed
|
||||||
- Timeout issue during plugin activation
|
- Timeout issue during plugin activation
|
||||||
- Potential infinite recursion in admin notices handling
|
- Potential infinite recursion in admin notices handling
|
||||||
|
|
||||||
##### Improved
|
#### Improved
|
||||||
- Hook management to prevent performance issues
|
- Hook management to prevent performance issues
|
||||||
- Optimized by only loading on plugins page
|
- Optimized by only loading on plugins page
|
||||||
|
|
||||||
#### [1.2.1] - 2025-04-07
|
#### [1.2.1] - 2025-04-07
|
||||||
##### Improved
|
#### Improved
|
||||||
- Fixed typos in documentation
|
- Fixed typos in documentation
|
||||||
- Improved text clarity
|
- Improved text clarity
|
||||||
- Added question mark to first sentence for better readability
|
- Added question mark to first sentence for better readability
|
||||||
|
|
||||||
#### [1.2] - 2025-04-07
|
#### [1.2] - 2025-04-07
|
||||||
##### Added
|
#### Added
|
||||||
- Improved documentation with detailed explanation
|
- Improved documentation with detailed explanation
|
||||||
- Added SQL reference for technical users
|
- Added SQL reference for technical users
|
||||||
- Suggested potential inclusion in WordPress core
|
- Suggested potential inclusion in WordPress core
|
||||||
|
|
||||||
#### [1.1] - 2025-04-07
|
#### [1.1] - 2025-04-07
|
||||||
##### Added
|
#### Added
|
||||||
- Support for multisite WordPress installations
|
- Support for multisite WordPress installations
|
||||||
- Network admin page integration
|
- Network admin page integration
|
||||||
- Woodpecker CI integration for automated releases
|
- Woodpecker CI integration for automated releases
|
||||||
|
|
||||||
##### Improved
|
#### Improved
|
||||||
- Error handling
|
- Error handling
|
||||||
- User experience with better confirmation messages
|
- User experience with better confirmation messages
|
||||||
- Security by adding proper capability checks
|
- Security by adding proper capability checks
|
||||||
|
|
||||||
#### [1.0] - 2025-03-15
|
#### [1.0] - 2025-03-15
|
||||||
##### Added
|
#### Added
|
||||||
- Initial release
|
- Initial release
|
||||||
- "Remove Reference" button for plugin deactivation error notices
|
- "Remove Reference" button for plugin deactivation error notices
|
||||||
- AJAX processing for reference removal
|
- 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
|
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
|
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
|
## Frequently Asked Questions
|
||||||
|
|
||||||
### Is it safe to remove plugin references?
|
### Is it safe to remove plugin references?
|
||||||
@ -150,7 +166,17 @@ Your experience and feedback helps others discover the plugin, and encourages co
|
|||||||
|
|
||||||
### Contributing
|
### 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
|
1. Fork the repository
|
||||||
2. Create your feature branch: `git checkout -b feature/amazing-feature`
|
2. Create your feature branch: `git checkout -b feature/amazing-feature`
|
||||||
@ -185,6 +211,21 @@ The plugin works by:
|
|||||||
|
|
||||||
## Changelog
|
## 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
|
### 2.0.13
|
||||||
* Fixed: Critical error when Git Updater passes an object instead of a string to API URL filter
|
* 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
|
* Fixed: Type checking in branch fix functions to handle both string and object inputs
|
||||||
|
99
admin/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;
|
||||||
|
}
|
138
admin/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);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
@ -8,7 +8,7 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
// Current plugin version - this should match the version in the main plugin file
|
// Current plugin version - this should match the version in the main plugin file
|
||||||
const CURRENT_VERSION = '2.0.13';
|
const CURRENT_VERSION = '2.1.1';
|
||||||
|
|
||||||
// Plugin slugs to check for
|
// Plugin slugs to check for
|
||||||
const OUR_SLUGS = ['wp-fix-plugin-does-not-exist-notices', 'fix-plugin-does-not-exist-notices'];
|
const OUR_SLUGS = ['wp-fix-plugin-does-not-exist-notices', 'fix-plugin-does-not-exist-notices'];
|
@ -1,50 +0,0 @@
|
|||||||
# Plugin Assets for WordPress.org
|
|
||||||
|
|
||||||
This directory contains assets for the WordPress.org plugin repository.
|
|
||||||
|
|
||||||
## Directory Structure
|
|
||||||
|
|
||||||
- `banner/` - Banner images for the plugin page header
|
|
||||||
- `banner-772x250.jpg` - Standard banner (772x250px)
|
|
||||||
- `banner-1544x500.jpg` - Retina banner (1544x500px)
|
|
||||||
|
|
||||||
- `icon/` - Plugin icon images
|
|
||||||
- `icon-128x128.jpg` - Standard icon (128x128px)
|
|
||||||
- `icon-256x256.jpg` - Retina icon (256x256px)
|
|
||||||
|
|
||||||
- `screenshots/` - Screenshots shown on the plugin page
|
|
||||||
- `screenshot-1.jpg` - Error message with explanation notification
|
|
||||||
|
|
||||||
## WordPress.org Requirements
|
|
||||||
|
|
||||||
### Required Image Dimensions
|
|
||||||
|
|
||||||
- **Banner**: 772x250px with 2x retina version at 1544x500px
|
|
||||||
- **Icon**: 128x128px with 2x retina version at 256x256px
|
|
||||||
- **Screenshots**: No specific size requirements, but they should be clear and readable
|
|
||||||
|
|
||||||
### Image Formats
|
|
||||||
|
|
||||||
- All images should be in JPG or PNG format
|
|
||||||
- Images should be optimized for web (compressed without losing quality)
|
|
||||||
|
|
||||||
### Additional Notes
|
|
||||||
|
|
||||||
- Screenshots should be numbered sequentially starting with 1
|
|
||||||
- They should match the descriptions in the `readme.txt` file
|
|
||||||
- Right-to-Left (RTL) language versions of banners and icons can be provided by appending `-rtl` to the filename
|
|
||||||
- There is no official support for dark mode versions of assets in the WordPress.org repository
|
|
||||||
|
|
||||||
## Example Filenames
|
|
||||||
|
|
||||||
```
|
|
||||||
assets/
|
|
||||||
├── banner/
|
|
||||||
│ ├── banner-772x250.jpg
|
|
||||||
│ └── banner-1544x500.jpg
|
|
||||||
├── icon/
|
|
||||||
│ ├── icon-128x128.jpg
|
|
||||||
│ └── icon-256x256.jpg
|
|
||||||
└── screenshots/
|
|
||||||
├── screenshot-1.jpg
|
|
||||||
```
|
|
@ -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 |
@ -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 |
@ -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 |
18
build.sh
@ -37,8 +37,24 @@ mkdir -p $BUILD_DIR/includes
|
|||||||
cp -r includes/* $BUILD_DIR/includes/
|
cp -r includes/* $BUILD_DIR/includes/
|
||||||
mkdir -p $BUILD_DIR/languages
|
mkdir -p $BUILD_DIR/languages
|
||||||
cp -r languages/* $BUILD_DIR/languages/
|
cp -r languages/* $BUILD_DIR/languages/
|
||||||
|
|
||||||
|
# Copy admin assets
|
||||||
|
mkdir -p $BUILD_DIR/admin/css
|
||||||
|
cp -r admin/css/* $BUILD_DIR/admin/css/
|
||||||
|
mkdir -p $BUILD_DIR/admin/js
|
||||||
|
cp -r admin/js/* $BUILD_DIR/admin/js/
|
||||||
|
|
||||||
|
# Create assets directory structure
|
||||||
mkdir -p $BUILD_DIR/assets
|
mkdir -p $BUILD_DIR/assets
|
||||||
cp -r assets/* $BUILD_DIR/assets/
|
|
||||||
|
# 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
|
mkdir -p $BUILD_DIR/vendor
|
||||||
cp -r vendor/* $BUILD_DIR/vendor/
|
cp -r vendor/* $BUILD_DIR/vendor/
|
||||||
|
|
||||||
|
@ -61,8 +61,16 @@ class Updater {
|
|||||||
* @return string Installation source: 'github', 'gitea', or 'wordpress.org'
|
* @return string Installation source: 'github', 'gitea', or 'wordpress.org'
|
||||||
*/
|
*/
|
||||||
private function determine_installation_source() {
|
private function determine_installation_source() {
|
||||||
// Default to WordPress.org
|
// Check for user preference first
|
||||||
$source = 'wordpress.org';
|
$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
|
// Check if the plugin was installed from GitHub
|
||||||
if ($this->is_github_installation()) {
|
if ($this->is_github_installation()) {
|
||||||
@ -152,6 +160,38 @@ class Updater {
|
|||||||
return '';
|
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
|
// Initialize Git Updater Lite
|
||||||
if (class_exists('\\Fragen\\Git_Updater\\Lite')) {
|
if (class_exists('\\Fragen\\Git_Updater\\Lite')) {
|
||||||
(new \Fragen\Git_Updater\Lite($this->plugin_file))->run();
|
(new \Fragen\Git_Updater\Lite($this->plugin_file))->run();
|
||||||
|
@ -2,14 +2,14 @@
|
|||||||
# This file is distributed under the GPL-2.0+.
|
# This file is distributed under the GPL-2.0+.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Fix 'Plugin file does not exist' Notices 2.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"
|
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-fix-plugin-does-not-exist-notices\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-05-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"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"X-Generator: WP-CLI 2.9.0\n"
|
"X-Generator: WP-CLI 2.9.0\n"
|
||||||
"X-Domain: wp-fix-plugin-does-not-exist-notices\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
|
Requires at least: 5.0
|
||||||
Tested up to: 6.7.2
|
Tested up to: 6.7.2
|
||||||
Requires PHP: 7.0
|
Requires PHP: 7.0
|
||||||
Stable tag: 2.1.0
|
Stable tag: 2.1.1
|
||||||
License: GPL-2.0+
|
License: GPL-2.0+
|
||||||
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
|
|
||||||
@ -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
|
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
|
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 ==
|
== Frequently Asked Questions ==
|
||||||
|
|
||||||
= Is it safe to remove plugin references? =
|
= Is it safe to remove plugin references? =
|
||||||
@ -149,6 +179,15 @@ Manually editing the WordPress database is risky and requires technical knowledg
|
|||||||
|
|
||||||
== Changelog ==
|
== 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 =
|
= 2.1.0 =
|
||||||
* Minor version bump for Git Updater compatibility
|
* Minor version bump for Git Updater compatibility
|
||||||
* Improved error handling for Git Updater integration
|
* Improved error handling for Git Updater integration
|
||||||
@ -476,6 +515,9 @@ Manually editing the WordPress database is risky and requires technical knowledg
|
|||||||
|
|
||||||
== Upgrade Notice ==
|
== 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 =
|
= 2.1.0 =
|
||||||
Minor version bump with improved Git Updater compatibility and error handling.
|
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 Name: Fix 'Plugin file does not exist' Notices
|
||||||
* Plugin URI: https://www.wpallstars.com
|
* 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.
|
* 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: Marcus Quinn & WP ALLSTARS
|
||||||
* Author URI: https://www.wpallstars.com
|
* Author URI: https://www.wpallstars.com
|
||||||
* License: GPL-2.0+
|
* License: GPL-2.0+
|
||||||
@ -26,7 +26,7 @@ if ( ! defined( 'WPINC' ) ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Define plugin constants.
|
// 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_DIR', plugin_dir_path( __FILE__ ) );
|
||||||
define( 'FPDEN_PLUGIN_URL', plugin_dir_url( __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
|
* It uses named functions instead of anonymous functions for better compatibility
|
||||||
*/
|
*/
|
||||||
function fpden_init_git_updater_fixes() {
|
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'
|
// Fix for Git Updater looking for 'master' branch instead of 'main'
|
||||||
add_filter('gu_get_repo_branch', 'fpden_override_branch', 999, 3);
|
add_filter('gu_get_repo_branch', 'fpden_override_branch', 999, 3);
|
||||||
|
|
||||||
@ -244,7 +253,7 @@ class Fix_Plugin_Does_Not_Exist_Notices {
|
|||||||
// Always load our version fix script on the plugins page
|
// Always load our version fix script on the plugins page
|
||||||
wp_enqueue_script(
|
wp_enqueue_script(
|
||||||
'fpden-version-fix',
|
'fpden-version-fix',
|
||||||
FPDEN_PLUGIN_URL . 'assets/js/version-fix.js',
|
FPDEN_PLUGIN_URL . 'admin/js/version-fix.js',
|
||||||
array( 'jquery', 'thickbox' ),
|
array( 'jquery', 'thickbox' ),
|
||||||
FPDEN_VERSION,
|
FPDEN_VERSION,
|
||||||
true // Load in footer.
|
true // Load in footer.
|
||||||
@ -258,14 +267,14 @@ class Fix_Plugin_Does_Not_Exist_Notices {
|
|||||||
|
|
||||||
wp_enqueue_style(
|
wp_enqueue_style(
|
||||||
'fpden-admin-styles',
|
'fpden-admin-styles',
|
||||||
FPDEN_PLUGIN_URL . 'assets/css/admin-styles.css',
|
FPDEN_PLUGIN_URL . 'admin/css/admin-styles.css',
|
||||||
array(),
|
array(),
|
||||||
FPDEN_VERSION
|
FPDEN_VERSION
|
||||||
);
|
);
|
||||||
|
|
||||||
wp_enqueue_script(
|
wp_enqueue_script(
|
||||||
'fpden-admin-scripts',
|
'fpden-admin-scripts',
|
||||||
FPDEN_PLUGIN_URL . 'assets/js/admin-scripts.js',
|
FPDEN_PLUGIN_URL . 'admin/js/admin-scripts.js',
|
||||||
array( 'jquery' ), // Add dependencies if needed, e.g., jQuery.
|
array( 'jquery' ), // Add dependencies if needed, e.g., jQuery.
|
||||||
FPDEN_VERSION,
|
FPDEN_VERSION,
|
||||||
true // Load in footer.
|
true // Load in footer.
|
||||||
@ -876,6 +885,143 @@ class Fix_Plugin_Does_Not_Exist_Notices {
|
|||||||
// Initialize the plugin class.
|
// Initialize the plugin class.
|
||||||
new Fix_Plugin_Does_Not_Exist_Notices();
|
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 . 'admin/css/update-source-selector.css',
|
||||||
|
array(),
|
||||||
|
FPDEN_VERSION
|
||||||
|
);
|
||||||
|
|
||||||
|
wp_enqueue_script(
|
||||||
|
'fpden-update-source-selector',
|
||||||
|
FPDEN_PLUGIN_URL . 'admin/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
|
// This function was previously deactivating all plugins except our plugin and Git Updater
|
||||||
// It has been disabled to allow other plugins to be activated
|
// It has been disabled to allow other plugins to be activated
|
||||||
// Uncomment the following code if you need to troubleshoot plugin conflicts
|
// Uncomment the following code if you need to troubleshoot plugin conflicts
|
||||||
|