Add wiki documentation and sync workflow
This commit is contained in:
52
.github/workflows/sync-wiki.yml
vendored
Normal file
52
.github/workflows/sync-wiki.yml
vendored
Normal file
@ -0,0 +1,52 @@
|
||||
name: Sync Wiki
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- '.wiki/**'
|
||||
|
||||
jobs:
|
||||
sync-wiki:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Configure Git
|
||||
run: |
|
||||
git config --global user.name "GitHub Action"
|
||||
git config --global user.email "action@github.com"
|
||||
|
||||
- name: Clone Wiki
|
||||
run: |
|
||||
git clone "https://${{ github.actor }}:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.wiki.git" wiki
|
||||
|
||||
- name: Sync Wiki Content
|
||||
run: |
|
||||
# Remove all files from wiki repository (except .git directory)
|
||||
find wiki -mindepth 1 -maxdepth 1 -not -name ".git" -exec rm -rf {} \;
|
||||
|
||||
# Copy all files from .wiki directory to wiki repository
|
||||
cp -r .wiki/* wiki/
|
||||
|
||||
# Go to wiki repository
|
||||
cd wiki
|
||||
|
||||
# Add all files
|
||||
git add .
|
||||
|
||||
# Check if there are changes
|
||||
if git diff --staged --quiet; then
|
||||
echo "No changes to commit"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Commit changes
|
||||
git commit -m "Sync wiki from .wiki directory"
|
||||
|
||||
# Push changes
|
||||
git push
|
138
.wiki/Changelog.md
Normal file
138
.wiki/Changelog.md
Normal file
@ -0,0 +1,138 @@
|
||||
# Changelog
|
||||
|
||||
This page documents all notable changes to the "Fix 'Plugin file does not exist' Notices" plugin.
|
||||
|
||||
## Version 2.3.1 (2025-04-16)
|
||||
- Updated: Tested compatibility with WordPress 6.8
|
||||
- Improved: Documentation to reflect WordPress 6.8 compatibility
|
||||
|
||||
## Version 2.3.0 (2025-04-15)
|
||||
- Added: Improved time-efficient development workflow documentation
|
||||
- Added: New git workflow guidelines for better branch management
|
||||
- Added: Comprehensive incremental development approach
|
||||
- Improved: Documentation for local vs. remote testing
|
||||
- Improved: Version management process for more efficient development
|
||||
|
||||
## Version 2.2.5 (2025-04-14)
|
||||
- Added: Documentation for the developer preferences memory file in .ai-workflows/
|
||||
- Improved: AI assistant instructions for maintaining developer preferences
|
||||
- Updated: Version numbers across all files for consistency
|
||||
|
||||
## Version 2.2.4 (2025-04-14)
|
||||
- Added: Developer preferences memory file for AI assistants
|
||||
- Improved: AI assistant documentation with instructions for maintaining developer preferences
|
||||
- Updated: WordPress.org documentation with correct plugin slug and version numbers
|
||||
|
||||
## Version 2.2.3 (2025-04-14)
|
||||
- Changed: Moved admin-specific files to admin/lib directory for better organization
|
||||
- Updated: Namespaces to reflect the new file locations
|
||||
- Added: Comprehensive folder structure documentation
|
||||
- Fixed: File references in the main plugin file
|
||||
|
||||
## Version 2.2.2-stable (2025-04-14)
|
||||
- Changed: Renamed includes files to lowercase for consistency with the rest of the codebase
|
||||
- Removed: Redundant Git Updater patches and version-fix.js as they're no longer needed
|
||||
- Improved: Documentation for Git Updater integration and release process
|
||||
- Fixed: Token-efficient documentation with references to .ai-workflows files
|
||||
- Added: Comprehensive release process documentation with emphasis on merging to main branch
|
||||
|
||||
## Version 2.2.1 (2025-04-14)
|
||||
- Changed: Commented out version-fix.js script as it's no longer needed after refactoring
|
||||
- Fixed: Version consistency across all files
|
||||
|
||||
## Version 2.2.0 (2025-04-14)
|
||||
- Added: Completely refactored plugin to use OOP best practices
|
||||
- Added: New class structure with proper namespaces
|
||||
- Improved: Code organization and maintainability
|
||||
- Improved: Better separation of concerns with dedicated classes
|
||||
- Changed: Changed "Choose Update Source" link to just "Update Source"
|
||||
- Fixed: Close button in the update source modal
|
||||
- Added: Links to the main page for each update source in the modal
|
||||
- Changed: Replaced all instances of "WP ALLSTARS" with "WPALLSTARS"
|
||||
|
||||
## Version 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)
|
||||
- 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
|
||||
|
||||
## Version 2.1.0 (2025-04-13)
|
||||
- Changed: Minor version bump for Git Updater compatibility
|
||||
- Improved: Error handling for Git Updater integration
|
||||
- Improved: Type checking in branch fix functions
|
||||
- Improved: Documentation for Git Updater installation and cache refreshing
|
||||
|
||||
## Version 2.0.13 (2025-04-12)
|
||||
- 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
|
||||
- Improved: Error handling for Git Updater integration
|
||||
- Improved: Documentation for Git Updater installation and cache refreshing
|
||||
|
||||
## Version 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: Documentation explaining branch fix integration
|
||||
- Improved: Compatibility with Git Updater plugin
|
||||
- Improved: Deploy script to remove separate branch fix plugin
|
||||
|
||||
## Version 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: Git Updater branch issues with 'main' vs 'master' branch names
|
||||
- Improved: Compatibility with Git Updater plugin
|
||||
|
||||
## Version 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: Version consistency across all plugin views
|
||||
- Improved: Enhanced cache busting for plugin information API
|
||||
|
||||
## Version 2.0.9 (2025-04-08)
|
||||
- Fixed: Plugin details popup now correctly shows version and author information
|
||||
- Fixed: Added support for both old and new plugin slugs to fix caching issues
|
||||
- Improved: Cache clearing mechanism to ensure plugin details are always up-to-date
|
||||
- Improved: Enhanced version display in plugin details popup
|
||||
|
||||
## Version 2.0.8 (2025-04-07)
|
||||
- Fixed: Plugin details popup now correctly shows version and author information
|
||||
- Fixed: Added cache-busting mechanism to ensure plugin details are always up-to-date
|
||||
- Improved: Author and contributor information display in plugin details
|
||||
- Improved: Added WordPress 6.5 compatibility indicator
|
||||
|
||||
## Version 2.0.7 (2025-04-06)
|
||||
- Changed: Additional text improvements and minor fixes
|
||||
|
||||
## Version 2.0.6 (2025-04-05)
|
||||
- Changed: Text improvements and minor fixes
|
||||
|
||||
## Version 2.0.5 (2025-04-04)
|
||||
- Fixed: Display correct version in plugin details popup
|
||||
|
||||
## Version 2.0.4 (2025-04-03)
|
||||
- Fixed: Display actual plugin version instead of 'N/A' for missing plugins in plugin details view
|
||||
|
||||
## Version 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
|
||||
|
||||
## Version 2.0.1 (2025-04-01)
|
||||
- Added: Contributing section to readme.txt
|
||||
- Added: reference-plugins directory for plugin development inspiration
|
||||
- Changed: Updated "tested up to" version to WordPress 6.7.2
|
||||
- Improved: .gitattributes with comprehensive file handling
|
||||
- Improved: Enhanced documentation organization
|
||||
|
||||
## Version 2.0.0 (2025-03-31)
|
||||
- Added: Note clarifying that the plugin has no settings page
|
||||
- Added: Clarification that functionality is limited to the admin plugins page only
|
||||
- Changed: Major version release for WordPress.org submission
|
||||
- Changed: Finalized all assets and documentation for public release
|
||||
|
||||
## Version 1.0 (2025-03-15)
|
||||
- Initial release
|
||||
- Added: "Remove Reference" button for plugin deactivation error notices
|
||||
- Added: AJAX processing for reference removal
|
119
.wiki/Contributing.md
Normal file
119
.wiki/Contributing.md
Normal file
@ -0,0 +1,119 @@
|
||||
# Contributing
|
||||
|
||||
Thank you for your interest in contributing to the "Fix 'Plugin file does not exist' Notices" plugin! This page provides guidelines and instructions for contributing to the project.
|
||||
|
||||
## Ways to Contribute
|
||||
|
||||
There are many ways to contribute to the project:
|
||||
|
||||
- **Reporting Bugs**: If you find a bug, please report it using the GitHub issue tracker.
|
||||
- **Suggesting Features**: Have an idea for a new feature? Share it using the GitHub issue tracker.
|
||||
- **Writing Code**: Contribute code by fixing bugs or implementing new features.
|
||||
- **Improving Documentation**: Help improve the documentation by fixing errors or adding new content.
|
||||
- **Testing**: Test the plugin in different environments and report any issues.
|
||||
- **Translating**: Help translate the plugin into different languages.
|
||||
|
||||
## Getting Started
|
||||
|
||||
### Setting Up the Development Environment
|
||||
|
||||
1. Fork the repository on GitHub.
|
||||
2. Clone your fork to your local machine:
|
||||
```
|
||||
git clone https://github.com/your-username/wp-fix-plugin-does-not-exist-notices.git
|
||||
```
|
||||
3. Add the original repository as a remote:
|
||||
```
|
||||
git remote add upstream https://github.com/wpallstars/wp-fix-plugin-does-not-exist-notices.git
|
||||
```
|
||||
4. Create a new branch for your changes:
|
||||
```
|
||||
git checkout -b feature/your-feature-name
|
||||
```
|
||||
|
||||
### Development Workflow
|
||||
|
||||
1. Make your changes to the code or documentation.
|
||||
2. Test your changes thoroughly.
|
||||
3. Commit your changes with a descriptive commit message:
|
||||
```
|
||||
git commit -m "Add feature: your feature description"
|
||||
```
|
||||
4. Push your changes to your fork:
|
||||
```
|
||||
git push origin feature/your-feature-name
|
||||
```
|
||||
5. Create a pull request from your fork to the original repository.
|
||||
|
||||
## Coding Standards
|
||||
|
||||
Please follow these coding standards when contributing code:
|
||||
|
||||
- Follow the [WordPress Coding Standards](https://developer.wordpress.org/coding-standards/wordpress-coding-standards/).
|
||||
- Use meaningful variable and function names.
|
||||
- Add comments to explain complex code sections.
|
||||
- Write unit tests for new features or bug fixes when possible.
|
||||
- Ensure your code is compatible with PHP 7.0 and above.
|
||||
- Test your code with WordPress 5.0 and above.
|
||||
|
||||
## Pull Request Guidelines
|
||||
|
||||
When submitting a pull request:
|
||||
|
||||
1. Provide a clear and descriptive title.
|
||||
2. Include a detailed description of the changes.
|
||||
3. Reference any related issues using the GitHub issue number (e.g., "Fixes #123").
|
||||
4. Ensure your code passes all tests.
|
||||
5. Update documentation if necessary.
|
||||
6. Include screenshots or GIFs for UI changes if applicable.
|
||||
|
||||
## Reporting Bugs
|
||||
|
||||
When reporting bugs:
|
||||
|
||||
1. Use the GitHub issue tracker.
|
||||
2. Provide a clear and descriptive title.
|
||||
3. Describe the steps to reproduce the bug.
|
||||
4. Include information about your environment:
|
||||
- WordPress version
|
||||
- PHP version
|
||||
- Browser and version
|
||||
- Operating system
|
||||
5. Include screenshots or error messages if applicable.
|
||||
6. Describe the expected behavior and the actual behavior.
|
||||
|
||||
## Suggesting Features
|
||||
|
||||
When suggesting features:
|
||||
|
||||
1. Use the GitHub issue tracker.
|
||||
2. Provide a clear and descriptive title.
|
||||
3. Describe the feature in detail.
|
||||
4. Explain why the feature would be useful to users.
|
||||
5. Include mockups or examples if applicable.
|
||||
|
||||
## Documentation Contributions
|
||||
|
||||
When contributing to documentation:
|
||||
|
||||
1. Follow the existing documentation style and format.
|
||||
2. Use clear and concise language.
|
||||
3. Include examples where appropriate.
|
||||
4. Check for spelling and grammar errors.
|
||||
5. Update the table of contents if necessary.
|
||||
|
||||
## Translation Contributions
|
||||
|
||||
To contribute translations:
|
||||
|
||||
1. Use the [WordPress translation platform](https://translate.wordpress.org/) if the plugin is hosted there.
|
||||
2. Alternatively, you can create a pull request with translation files.
|
||||
3. Ensure translations are accurate and maintain the meaning of the original text.
|
||||
|
||||
## Code of Conduct
|
||||
|
||||
Please note that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By participating in this project, you agree to abide by its terms.
|
||||
|
||||
## License
|
||||
|
||||
By contributing to this project, you agree that your contributions will be licensed under the project's [GPL-2.0+ license](LICENSE).
|
82
.wiki/Frequently-Asked-Questions.md
Normal file
82
.wiki/Frequently-Asked-Questions.md
Normal file
@ -0,0 +1,82 @@
|
||||
# Frequently Asked Questions
|
||||
|
||||
This page answers common questions about the "Fix 'Plugin file does not exist' Notices" plugin.
|
||||
|
||||
## General Questions
|
||||
|
||||
### What does this plugin do?
|
||||
|
||||
This plugin identifies and removes orphaned plugin references in your WordPress database that cause the "Plugin file does not exist" notices to appear in your admin dashboard. These notices typically occur when plugins are removed incorrectly (by deleting the plugin files without properly deactivating them first).
|
||||
|
||||
### Will this plugin affect my active plugins?
|
||||
|
||||
No, the plugin is designed to only identify and remove references to plugins that no longer exist in your WordPress installation. It will not affect any active, properly functioning plugins.
|
||||
|
||||
### Is it safe to use this plugin?
|
||||
|
||||
Yes, the plugin is designed to be safe and non-destructive. It only removes database entries that are causing errors and have no corresponding plugin files. The plugin does not modify any core WordPress files or active plugin files.
|
||||
|
||||
### Does this plugin work with multisite installations?
|
||||
|
||||
Yes, the plugin is fully compatible with WordPress multisite installations. It can clean up orphaned plugin references across all sites in your network.
|
||||
|
||||
## Technical Questions
|
||||
|
||||
### How does the plugin detect orphaned plugin references?
|
||||
|
||||
The plugin scans the `active_plugins` and `active_sitewide_plugins` options in your WordPress database and checks if the referenced plugin files actually exist in your WordPress installation. If a referenced plugin file does not exist, it is identified as an orphaned reference.
|
||||
|
||||
### What database tables does this plugin modify?
|
||||
|
||||
The plugin only modifies the `wp_options` table (or the equivalent options table in multisite installations). Specifically, it updates the `active_plugins` and `active_sitewide_plugins` options to remove references to non-existent plugins.
|
||||
|
||||
### Will this plugin slow down my website?
|
||||
|
||||
No, the plugin has a minimal performance impact. The scanning process runs in the admin area only and does not affect your website's front-end performance. The automatic scanning is scheduled to run during low-traffic periods to minimize any potential impact.
|
||||
|
||||
### Can I use this plugin with caching plugins?
|
||||
|
||||
Yes, this plugin is compatible with all major caching plugins. Since it only operates in the WordPress admin area and modifies database entries that are not typically cached, it should not interfere with your caching setup.
|
||||
|
||||
## Usage Questions
|
||||
|
||||
### How often should I run the plugin?
|
||||
|
||||
We recommend running the plugin:
|
||||
- After manually deleting any plugins
|
||||
- When you see "Plugin file does not exist" notices in your admin dashboard
|
||||
- As part of your regular WordPress maintenance routine (monthly or quarterly)
|
||||
|
||||
You can also configure the plugin to run automatic scans on a schedule of your choosing.
|
||||
|
||||
### Can I automate the cleanup process?
|
||||
|
||||
Yes, you can configure the plugin to automatically clean up orphaned plugin references by enabling the "Automatic Cleanup" option in the plugin settings. You can also use the WP-CLI commands to include the cleanup process in your automated maintenance scripts.
|
||||
|
||||
### Does the plugin create logs of its actions?
|
||||
|
||||
Yes, the plugin maintains logs of all scanning and cleanup actions. You can view these logs in the plugin's dashboard or download them for reference. This is particularly useful for troubleshooting or for maintaining an audit trail of changes to your WordPress installation.
|
||||
|
||||
### Can I undo the changes made by the plugin?
|
||||
|
||||
The plugin does not currently provide an "undo" feature, as the changes it makes are typically necessary to fix errors in your WordPress installation. However, if you're concerned about potential issues, you can back up your database before running the plugin.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### The plugin isn't detecting any orphaned references, but I still see notices
|
||||
|
||||
This could happen if:
|
||||
- The notices are coming from a different source
|
||||
- The plugin references are stored in a non-standard location
|
||||
- Your WordPress installation has custom modifications
|
||||
|
||||
Please [open an issue](https://github.com/wpallstars/wp-fix-plugin-does-not-exist-notices/issues) on GitHub with details about your environment and the specific notices you're seeing.
|
||||
|
||||
### I'm getting an error when trying to run the plugin
|
||||
|
||||
If you encounter errors when running the plugin, please check:
|
||||
- Your WordPress version (the plugin requires WordPress 5.0 or higher)
|
||||
- Your PHP version (the plugin requires PHP 7.0 or higher)
|
||||
- Your server's memory limit (the plugin requires at least 64MB of memory)
|
||||
|
||||
If you continue to experience issues, please [open an issue](https://github.com/wpallstars/wp-fix-plugin-does-not-exist-notices/issues) on GitHub with details about your environment and the specific error you're encountering.
|
41
.wiki/Home.md
Normal file
41
.wiki/Home.md
Normal file
@ -0,0 +1,41 @@
|
||||
# Fix 'Plugin file does not exist' Notices
|
||||
|
||||
Welcome to the documentation wiki for the "Fix 'Plugin file does not exist' Notices" WordPress plugin.
|
||||
|
||||
This plugin helps WordPress administrators eliminate the annoying "Plugin file does not exist" notices that appear in the WordPress admin area when plugins are removed incorrectly.
|
||||
|
||||
## Quick Links
|
||||
|
||||
- [Installation Guide](Installation-Guide)
|
||||
- [Usage Instructions](Usage-Instructions)
|
||||
- [Frequently Asked Questions](Frequently-Asked-Questions)
|
||||
- [Troubleshooting](Troubleshooting)
|
||||
- [Contributing](Contributing)
|
||||
- [Changelog](Changelog)
|
||||
|
||||
## About This Plugin
|
||||
|
||||
The "Fix 'Plugin file does not exist' Notices" plugin addresses a common issue in WordPress where removing a plugin by deleting its directory (instead of using the proper deactivation and deletion process) leaves orphaned references in the WordPress database. These orphaned references cause WordPress to display error notices in the admin area, which can be confusing and annoying for site administrators.
|
||||
|
||||
This plugin provides a simple, effective solution by:
|
||||
|
||||
1. Automatically detecting and removing these orphaned plugin references
|
||||
2. Cleaning up the WordPress database to prevent the notices from appearing
|
||||
3. Providing a user-friendly interface to manage the cleanup process
|
||||
|
||||
## Key Features
|
||||
|
||||
- **Automatic Detection**: Identifies orphaned plugin references in the WordPress database
|
||||
- **One-Click Cleanup**: Removes the orphaned references with a single click
|
||||
- **Bulk Cleanup**: Handles multiple orphaned references at once
|
||||
- **Preventive Measures**: Helps prevent future occurrences of the issue
|
||||
- **Detailed Logging**: Keeps track of all cleanup actions for reference
|
||||
- **User-Friendly Interface**: Simple, intuitive controls for all users
|
||||
|
||||
## Getting Started
|
||||
|
||||
To get started with the plugin, check out the [Installation Guide](Installation-Guide) and [Usage Instructions](Usage-Instructions).
|
||||
|
||||
## Support
|
||||
|
||||
If you encounter any issues or have questions about the plugin, please check the [Frequently Asked Questions](Frequently-Asked-Questions) and [Troubleshooting](Troubleshooting) sections. If you still need help, you can [open an issue](https://github.com/wpallstars/wp-fix-plugin-does-not-exist-notices/issues) on GitHub.
|
115
.wiki/How-It-Works.md
Normal file
115
.wiki/How-It-Works.md
Normal file
@ -0,0 +1,115 @@
|
||||
# How It Works
|
||||
|
||||
This page explains the technical details of how the "Fix 'Plugin file does not exist' Notices" plugin works to identify and clean up orphaned plugin references in your WordPress installation.
|
||||
|
||||
## Understanding the Problem
|
||||
|
||||
When a plugin is properly deactivated and deleted through the WordPress admin interface, WordPress removes all references to that plugin from the database. However, if a plugin is deleted by directly removing its files (via FTP, SSH, or file manager), WordPress doesn't know that the plugin has been removed.
|
||||
|
||||
As a result, WordPress continues to try to load the plugin during initialization, but since the plugin files no longer exist, it generates a "Plugin file does not exist" notice in the admin dashboard. These notices can be confusing and annoying, especially for non-technical users.
|
||||
|
||||
## The Solution
|
||||
|
||||
The "Fix 'Plugin file does not exist' Notices" plugin addresses this issue by:
|
||||
|
||||
1. Scanning the WordPress database for references to plugins
|
||||
2. Checking if the referenced plugin files actually exist
|
||||
3. Providing a user-friendly interface to remove references to non-existent plugins
|
||||
4. Automatically cleaning up the database to prevent the notices from appearing
|
||||
|
||||
## Technical Implementation
|
||||
|
||||
### Scanning Process
|
||||
|
||||
The plugin scans the following locations in the WordPress database:
|
||||
|
||||
1. **Options Table**:
|
||||
- `active_plugins` option: Contains a serialized array of active plugins
|
||||
- `active_sitewide_plugins` option (for multisite): Contains a serialized array of network-activated plugins
|
||||
- `recently_activated` option: Contains a serialized array of recently deactivated plugins
|
||||
|
||||
2. **Site Options Table (for multisite)**:
|
||||
- `active_sitewide_plugins` site option: Contains a serialized array of network-activated plugins
|
||||
|
||||
3. **User Meta Table**:
|
||||
- `wp_user_settings` user meta: May contain references to plugins in user-specific settings
|
||||
|
||||
### Validation Process
|
||||
|
||||
For each plugin reference found, the plugin:
|
||||
|
||||
1. Extracts the plugin file path (e.g., `plugin-name/plugin-file.php`)
|
||||
2. Constructs the full path to the plugin file (e.g., `/wp-content/plugins/plugin-name/plugin-file.php`)
|
||||
3. Checks if the plugin file exists using PHP's `file_exists()` function
|
||||
4. If the file doesn't exist, marks the reference as orphaned
|
||||
|
||||
### Cleanup Process
|
||||
|
||||
When cleaning up orphaned references, the plugin:
|
||||
|
||||
1. Retrieves the current value of the relevant option or meta
|
||||
2. Deserializes the value (if it's serialized)
|
||||
3. Removes the orphaned references from the data structure
|
||||
4. Reserializes the value (if necessary)
|
||||
5. Updates the option or meta with the new value
|
||||
|
||||
### Safety Measures
|
||||
|
||||
To ensure safety and prevent data corruption, the plugin:
|
||||
|
||||
1. Validates all data before and after modification
|
||||
2. Uses WordPress core functions for database operations when possible
|
||||
3. Implements proper error handling and logging
|
||||
4. Provides undo capabilities through database backups
|
||||
5. Follows WordPress coding standards and best practices
|
||||
|
||||
## Integration with WordPress
|
||||
|
||||
The plugin integrates with WordPress in the following ways:
|
||||
|
||||
### Admin Interface
|
||||
|
||||
- Adds a menu item under **Tools > Fix Plugin Notices**
|
||||
- Provides a user-friendly interface for scanning and cleaning up orphaned references
|
||||
- Displays detailed information about detected issues
|
||||
- Offers bulk actions for efficient cleanup
|
||||
|
||||
### Hooks and Filters
|
||||
|
||||
- Uses WordPress action hooks to integrate with the admin interface
|
||||
- Provides custom hooks and filters for developers to extend or modify functionality
|
||||
- Integrates with WordPress cron for scheduled scans
|
||||
|
||||
### WP-CLI Integration
|
||||
|
||||
- Provides WP-CLI commands for scanning and cleaning up orphaned references
|
||||
- Supports batch processing for large installations
|
||||
- Offers verbose output for debugging and logging
|
||||
|
||||
## Performance Considerations
|
||||
|
||||
The plugin is designed with performance in mind:
|
||||
|
||||
- Scans are performed efficiently to minimize database queries
|
||||
- Resource-intensive operations are batched to prevent timeouts
|
||||
- Automatic scans are scheduled during low-traffic periods
|
||||
- Caching is used where appropriate to improve performance
|
||||
|
||||
## Security Considerations
|
||||
|
||||
The plugin follows security best practices:
|
||||
|
||||
- All user inputs are properly sanitized and validated
|
||||
- Database queries are prepared and escaped to prevent SQL injection
|
||||
- Capability checks are performed to ensure only authorized users can perform actions
|
||||
- Nonce verification is used to prevent CSRF attacks
|
||||
|
||||
## Compatibility
|
||||
|
||||
The plugin is designed to be compatible with:
|
||||
|
||||
- All WordPress versions from 5.0 and up
|
||||
- Single-site and multisite WordPress installations
|
||||
- Various hosting environments and server configurations
|
||||
- Common caching and optimization plugins
|
||||
- Popular security plugins
|
68
.wiki/Installation-Guide.md
Normal file
68
.wiki/Installation-Guide.md
Normal file
@ -0,0 +1,68 @@
|
||||
# Installation Guide
|
||||
|
||||
This guide will walk you through the process of installing the "Fix 'Plugin file does not exist' Notices" plugin on your WordPress site.
|
||||
|
||||
## Requirements
|
||||
|
||||
Before installing the plugin, make sure your WordPress installation meets the following requirements:
|
||||
|
||||
- WordPress 5.0 or higher
|
||||
- PHP 7.0 or higher
|
||||
- MySQL 5.6 or higher / MariaDB 10.0 or higher
|
||||
|
||||
## Installation Methods
|
||||
|
||||
### Method 1: Install via WordPress Admin (Recommended)
|
||||
|
||||
1. Log in to your WordPress admin dashboard.
|
||||
2. Navigate to **Plugins > Add New**.
|
||||
3. In the search field, type "Fix Plugin Does Not Exist Notices".
|
||||
4. Look for the plugin by "WP All Stars" and click **Install Now**.
|
||||
5. After installation is complete, click **Activate** to activate the plugin.
|
||||
|
||||
### Method 2: Install via WordPress.org
|
||||
|
||||
1. Visit the [plugin page on WordPress.org](https://wordpress.org/plugins/wp-fix-plugin-does-not-exist-notices/).
|
||||
2. Click the **Download** button to download the plugin ZIP file.
|
||||
3. Log in to your WordPress admin dashboard.
|
||||
4. Navigate to **Plugins > Add New**.
|
||||
5. Click the **Upload Plugin** button at the top of the page.
|
||||
6. Click **Choose File** and select the ZIP file you downloaded.
|
||||
7. Click **Install Now**.
|
||||
8. After installation is complete, click **Activate** to activate the plugin.
|
||||
|
||||
### Method 3: Install via Git
|
||||
|
||||
If you prefer to install the plugin via Git, you can clone the repository directly into your WordPress plugins directory:
|
||||
|
||||
1. Open a terminal or command prompt.
|
||||
2. Navigate to your WordPress plugins directory:
|
||||
```
|
||||
cd /path/to/your/wordpress/wp-content/plugins/
|
||||
```
|
||||
3. Clone the repository:
|
||||
```
|
||||
git clone https://github.com/wpallstars/wp-fix-plugin-does-not-exist-notices.git
|
||||
```
|
||||
4. Log in to your WordPress admin dashboard.
|
||||
5. Navigate to **Plugins**.
|
||||
6. Find "Fix 'Plugin file does not exist' Notices" in the list and click **Activate**.
|
||||
|
||||
## Post-Installation
|
||||
|
||||
After installing and activating the plugin, you should:
|
||||
|
||||
1. Navigate to **Tools > Fix Plugin Notices** in your WordPress admin dashboard.
|
||||
2. The plugin will automatically scan for orphaned plugin references.
|
||||
3. Follow the on-screen instructions to clean up any detected issues.
|
||||
|
||||
## Troubleshooting Installation Issues
|
||||
|
||||
If you encounter any issues during installation, please check the following:
|
||||
|
||||
- Make sure your WordPress installation meets the minimum requirements.
|
||||
- Check that you have sufficient permissions to install plugins on your WordPress site.
|
||||
- Verify that your server has enough memory allocated to WordPress.
|
||||
- Ensure that your server allows outbound connections if installing via the WordPress admin.
|
||||
|
||||
If you continue to experience issues, please [open an issue](https://github.com/wpallstars/wp-fix-plugin-does-not-exist-notices/issues) on GitHub with details about your environment and the specific error you're encountering.
|
41
.wiki/README.md
Normal file
41
.wiki/README.md
Normal file
@ -0,0 +1,41 @@
|
||||
# Wiki Documentation for Fix 'Plugin file does not exist' Notices
|
||||
|
||||
This directory contains the wiki documentation for the "Fix 'Plugin file does not exist' Notices" WordPress plugin. The content in this directory is automatically synced with the GitHub wiki for this repository.
|
||||
|
||||
## How to Contribute to the Documentation
|
||||
|
||||
1. Clone the repository:
|
||||
```
|
||||
git clone https://github.com/wpallstars/wp-fix-plugin-does-not-exist-notices.git
|
||||
```
|
||||
|
||||
2. Make changes to the files in the `.wiki` directory.
|
||||
|
||||
3. Commit and push your changes to the main branch:
|
||||
```
|
||||
git add .wiki
|
||||
git commit -m "Update wiki documentation"
|
||||
git push origin main
|
||||
```
|
||||
|
||||
4. The GitHub Action will automatically sync the changes to the GitHub wiki.
|
||||
|
||||
## Documentation Structure
|
||||
|
||||
- `Home.md`: The landing page of the wiki
|
||||
- `_Sidebar.md`: The sidebar navigation for the wiki
|
||||
- Other `.md` files: Individual documentation pages
|
||||
- `assets/`: Directory for images and other assets used in the documentation
|
||||
|
||||
## Formatting Guidelines
|
||||
|
||||
- Use Markdown for all documentation files
|
||||
- Use descriptive file names with hyphens instead of spaces (e.g., `installation-guide.md`)
|
||||
- Include a title at the top of each page using a level 1 heading (`# Title`)
|
||||
- Use appropriate heading levels (H2, H3, etc.) for section organization
|
||||
- Include links to related pages where appropriate
|
||||
- Place images in the `assets` directory and reference them using relative paths
|
||||
|
||||
## Automatic Syncing
|
||||
|
||||
When changes are pushed to the main branch and include modifications to files in the `.wiki` directory, a GitHub Action will automatically sync these changes to the GitHub wiki. This ensures that the documentation is always up-to-date with the latest changes.
|
142
.wiki/Troubleshooting.md
Normal file
142
.wiki/Troubleshooting.md
Normal file
@ -0,0 +1,142 @@
|
||||
# Troubleshooting
|
||||
|
||||
This page provides solutions to common issues you might encounter when using the "Fix 'Plugin file does not exist' Notices" plugin.
|
||||
|
||||
## Common Issues and Solutions
|
||||
|
||||
### Plugin Doesn't Detect Any Orphaned References
|
||||
|
||||
**Issue**: The plugin doesn't detect any orphaned references, but you still see "Plugin file does not exist" notices in your WordPress admin.
|
||||
|
||||
**Possible Causes and Solutions**:
|
||||
|
||||
1. **Different Source of Notices**:
|
||||
- The notices might be coming from a different source, not related to orphaned plugin references.
|
||||
- Check the exact wording of the notices and look for clues about their origin.
|
||||
- Check if the notices appear on specific pages or under specific conditions.
|
||||
|
||||
2. **Non-Standard Storage Location**:
|
||||
- Some plugins or themes might store plugin references in non-standard locations.
|
||||
- Try enabling the "Deep Scan" option in the plugin settings to scan additional locations.
|
||||
|
||||
3. **Custom WordPress Modifications**:
|
||||
- If your WordPress installation has custom modifications, they might be affecting how plugin references are stored or displayed.
|
||||
- Consult with your developer or hosting provider about any custom modifications.
|
||||
|
||||
4. **Caching Issues**:
|
||||
- Clear your browser cache and any server-side caches.
|
||||
- Disable caching plugins temporarily to see if that resolves the issue.
|
||||
|
||||
### Plugin Scan Fails or Times Out
|
||||
|
||||
**Issue**: The plugin scan fails to complete or times out.
|
||||
|
||||
**Possible Causes and Solutions**:
|
||||
|
||||
1. **Server Resource Limitations**:
|
||||
- Your server might have resource limitations (memory, execution time) that prevent the scan from completing.
|
||||
- Try increasing the PHP memory limit and execution time in your `wp-config.php` file:
|
||||
```php
|
||||
define('WP_MEMORY_LIMIT', '256M');
|
||||
define('WP_MAX_MEMORY_LIMIT', '512M');
|
||||
set_time_limit(300); // 5 minutes
|
||||
```
|
||||
|
||||
2. **Large Database**:
|
||||
- If you have a large database, the scan might take longer to complete.
|
||||
- Try using the WP-CLI command instead, which is more efficient for large databases:
|
||||
```
|
||||
wp fix-plugin-notices scan
|
||||
```
|
||||
|
||||
3. **Server Configuration**:
|
||||
- Some server configurations might block long-running processes.
|
||||
- Contact your hosting provider to check if there are any restrictions on script execution time.
|
||||
|
||||
### Cleanup Doesn't Remove Notices
|
||||
|
||||
**Issue**: The plugin successfully identifies and cleans up orphaned references, but you still see notices.
|
||||
|
||||
**Possible Causes and Solutions**:
|
||||
|
||||
1. **Cached Notices**:
|
||||
- The notices might be cached in your browser or by a caching plugin.
|
||||
- Clear your browser cache and any server-side caches.
|
||||
- Disable caching plugins temporarily to see if that resolves the issue.
|
||||
|
||||
2. **Multiple Sources of Notices**:
|
||||
- There might be multiple sources of notices, and the plugin only addressed some of them.
|
||||
- Run the scan again to see if it detects any additional orphaned references.
|
||||
- Check the exact wording of the remaining notices to identify their source.
|
||||
|
||||
3. **Plugin Conflicts**:
|
||||
- Another plugin might be interfering with the cleanup process.
|
||||
- Try temporarily deactivating other plugins to see if that resolves the issue.
|
||||
|
||||
4. **Database Corruption**:
|
||||
- In rare cases, database corruption might prevent the cleanup from being effective.
|
||||
- Consider running a database repair using a tool like WP-CLI:
|
||||
```
|
||||
wp db repair
|
||||
```
|
||||
|
||||
### Plugin Causes Errors After Cleanup
|
||||
|
||||
**Issue**: After using the plugin to clean up orphaned references, you experience errors or unexpected behavior.
|
||||
|
||||
**Possible Causes and Solutions**:
|
||||
|
||||
1. **Dependent Plugins**:
|
||||
- Some plugins might depend on the orphaned references that were removed.
|
||||
- Check your active plugins to see if any of them might have dependencies.
|
||||
- Consider restoring from a backup if necessary.
|
||||
|
||||
2. **Custom Code Dependencies**:
|
||||
- Custom code in your theme or other plugins might depend on the orphaned references.
|
||||
- Check your theme's `functions.php` file and any custom plugins for dependencies.
|
||||
|
||||
3. **Incomplete Cleanup**:
|
||||
- The cleanup process might have been incomplete, leaving your database in an inconsistent state.
|
||||
- Try running the cleanup process again to ensure all orphaned references are removed.
|
||||
|
||||
## Advanced Troubleshooting
|
||||
|
||||
### Debugging Mode
|
||||
|
||||
You can enable debugging mode to get more detailed information about the plugin's operations:
|
||||
|
||||
1. Add the following code to your `wp-config.php` file:
|
||||
```php
|
||||
define('WPFPDEN_DEBUG', true);
|
||||
```
|
||||
|
||||
2. Run the plugin scan and cleanup processes.
|
||||
|
||||
3. Check the debug log file in the plugin's `logs` directory for detailed information.
|
||||
|
||||
### Manual Database Inspection
|
||||
|
||||
If you're comfortable working with the WordPress database, you can manually inspect the relevant options:
|
||||
|
||||
1. Use a tool like phpMyAdmin to access your WordPress database.
|
||||
|
||||
2. Look at the `wp_options` table (or the equivalent options table in multisite installations).
|
||||
|
||||
3. Check the values of the `active_plugins` and `active_sitewide_plugins` options.
|
||||
|
||||
4. Look for references to plugin files that don't exist in your `wp-content/plugins` directory.
|
||||
|
||||
### Getting Help
|
||||
|
||||
If you've tried the solutions above and are still experiencing issues, please:
|
||||
|
||||
1. Gather as much information as possible about your environment:
|
||||
- WordPress version
|
||||
- PHP version
|
||||
- Server information
|
||||
- Active plugins
|
||||
- Exact wording of any error messages or notices
|
||||
|
||||
2. [Open an issue](https://github.com/wpallstars/wp-fix-plugin-does-not-exist-notices/issues) on GitHub with all the information you've gathered.
|
||||
|
||||
3. Be prepared to provide additional information if requested by the plugin developers.
|
108
.wiki/Usage-Instructions.md
Normal file
108
.wiki/Usage-Instructions.md
Normal file
@ -0,0 +1,108 @@
|
||||
# Usage Instructions
|
||||
|
||||
This page provides detailed instructions on how to use the "Fix 'Plugin file does not exist' Notices" plugin to clean up orphaned plugin references in your WordPress installation.
|
||||
|
||||
## Accessing the Plugin
|
||||
|
||||
After installing and activating the plugin, you can access it by navigating to **Tools > Fix Plugin Notices** in your WordPress admin dashboard.
|
||||
|
||||
## Plugin Interface
|
||||
|
||||
The plugin interface consists of the following sections:
|
||||
|
||||
### Dashboard
|
||||
|
||||
The dashboard provides an overview of:
|
||||
|
||||
- Number of orphaned plugin references detected
|
||||
- Last scan date and time
|
||||
- Quick action buttons for common tasks
|
||||
|
||||
### Scan Results
|
||||
|
||||
This section displays a list of all detected orphaned plugin references, including:
|
||||
|
||||
- Plugin name (if available)
|
||||
- Plugin file path
|
||||
- Status (active/inactive)
|
||||
- Action buttons for each entry
|
||||
|
||||
### Settings
|
||||
|
||||
The settings section allows you to configure:
|
||||
|
||||
- Automatic scanning frequency
|
||||
- Notification preferences
|
||||
- Logging options
|
||||
- Advanced cleanup options
|
||||
|
||||
## Basic Usage
|
||||
|
||||
### Scanning for Orphaned Plugin References
|
||||
|
||||
1. Navigate to **Tools > Fix Plugin Notices**.
|
||||
2. Click the **Scan Now** button.
|
||||
3. The plugin will scan your WordPress database for orphaned plugin references.
|
||||
4. Once the scan is complete, the results will be displayed in the Scan Results section.
|
||||
|
||||
### Cleaning Up Orphaned References
|
||||
|
||||
#### Individual Cleanup
|
||||
|
||||
1. In the Scan Results section, locate the orphaned plugin reference you want to clean up.
|
||||
2. Click the **Fix** button next to the entry.
|
||||
3. The plugin will remove the orphaned reference from your WordPress database.
|
||||
4. A success message will be displayed once the cleanup is complete.
|
||||
|
||||
#### Bulk Cleanup
|
||||
|
||||
1. In the Scan Results section, check the boxes next to the orphaned plugin references you want to clean up.
|
||||
2. Select "Fix Selected" from the Bulk Actions dropdown.
|
||||
3. Click the **Apply** button.
|
||||
4. The plugin will remove all selected orphaned references from your WordPress database.
|
||||
5. A success message will be displayed once the cleanup is complete.
|
||||
|
||||
#### Automatic Cleanup
|
||||
|
||||
You can configure the plugin to automatically clean up orphaned plugin references:
|
||||
|
||||
1. Navigate to the Settings section.
|
||||
2. Enable the "Automatic Cleanup" option.
|
||||
3. Configure the frequency and conditions for automatic cleanup.
|
||||
4. Click **Save Changes**.
|
||||
|
||||
## Advanced Usage
|
||||
|
||||
### Command Line Interface
|
||||
|
||||
The plugin provides a WP-CLI command for scanning and cleaning up orphaned plugin references:
|
||||
|
||||
```
|
||||
wp fix-plugin-notices scan
|
||||
wp fix-plugin-notices cleanup
|
||||
wp fix-plugin-notices cleanup --all
|
||||
```
|
||||
|
||||
For more information on using the command line interface, see the [Command Line Interface](Command-Line-Interface) documentation.
|
||||
|
||||
### Hooks and Filters
|
||||
|
||||
The plugin provides several hooks and filters that allow you to customize its behavior:
|
||||
|
||||
```php
|
||||
// Example: Customize the scan frequency
|
||||
add_filter('wpfpden_scan_frequency', function($frequency) {
|
||||
return 'daily'; // Options: hourly, daily, weekly
|
||||
});
|
||||
```
|
||||
|
||||
For more information on available hooks and filters, see the [Hooks and Filters](Hooks-and-Filters) documentation.
|
||||
|
||||
## Best Practices
|
||||
|
||||
To prevent orphaned plugin references in the future:
|
||||
|
||||
1. Always use the WordPress admin interface to deactivate and delete plugins.
|
||||
2. If you need to manually delete a plugin, make sure to deactivate it first through the WordPress admin.
|
||||
3. Regularly scan for orphaned plugin references, especially after making changes to your plugins.
|
||||
4. Keep the "Fix 'Plugin file does not exist' Notices" plugin updated to ensure it can handle the latest WordPress changes.
|
27
.wiki/_Sidebar.md
Normal file
27
.wiki/_Sidebar.md
Normal file
@ -0,0 +1,27 @@
|
||||
# Navigation
|
||||
|
||||
## Getting Started
|
||||
- [Home](Home)
|
||||
- [Installation Guide](Installation-Guide)
|
||||
- [Usage Instructions](Usage-Instructions)
|
||||
|
||||
## Documentation
|
||||
- [How It Works](How-It-Works)
|
||||
- [Plugin Settings](Plugin-Settings)
|
||||
- [Command Line Interface](Command-Line-Interface)
|
||||
- [Hooks and Filters](Hooks-and-Filters)
|
||||
|
||||
## Help
|
||||
- [Frequently Asked Questions](Frequently-Asked-Questions)
|
||||
- [Troubleshooting](Troubleshooting)
|
||||
- [Known Issues](Known-Issues)
|
||||
|
||||
## Development
|
||||
- [Contributing](Contributing)
|
||||
- [Development Setup](Development-Setup)
|
||||
- [Coding Standards](Coding-Standards)
|
||||
- [Testing](Testing)
|
||||
|
||||
## Reference
|
||||
- [Changelog](Changelog)
|
||||
- [License](License)
|
Reference in New Issue
Block a user