Weidenhammer - Maintenance
WordPress plugin that automates monthly maintenance reporting by collecting site data (plugins, users, security settings, forms) and generating pre-populated maintenance form URLs for PDF report generation.
by Hammer · github.com/ltgustin/plugin-wordpress-maintenance
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/ltgustin/plugin-wordpress-maintenance/archive/refs/heads/main.zipWeidenhammer - Maintenance Plugin
A WordPress plugin that streamlines the monthly maintenance reporting process by automatically collecting site data and generating pre-populated maintenance reports.
This plugin was built while being employed by Weidenhammer Systems Inc.
📋 Overview
This plugin adds a "Do Maintenance" button to the WordPress plugin list page (visible only to authorized company email addresses). When clicked, it collects comprehensive site information and redirects to an external maintenance form with all data pre-populated via query string parameters. The form generates a styled PDF report that is provided to clients after monthly maintenance is completed.
✨ Features
-
Automated Data Collection: Gathers site information including:
- Site name and URLs (multisite support)
- Plugin versions and update status
- Theme information
- User counts and role-based user lists
- Security plugin status and settings
- Backup and caching plugin detection
- Gravity Forms notification configurations
-
Multisite Support: Fully compatible with WordPress multisite installations
-
Security: Only visible to authorized company email addresses
-
One-Click Reporting: Generates pre-populated maintenance form URLs
-
PDF Generation: Integrates with external form system for professional PDF reports
🔍 Data Collected
The plugin collects the following information:
Site Information
- Site name
- Site URL(s) (including all subsites in multisite)
- Multisite status
Users
- Total user count
- Administrator usernames (including super admins in multisite)
- Editor usernames
Plugins
- List of plugins with available updates
- Current and latest version numbers
Theme
- Active theme name and version
- Theme author
Security
- iThemes Security Pro activation status
- Custom login URL enabled status
- REST API restriction status
Backup & Caching
- Active backup plugin (UpdraftPlus detection)
- Active caching plugin (WP Rocket detection)
Forms
- Gravity Forms notification configurations
- Form notification email addresses
- Routing rules for conditional notifications
🏗️ Architecture
The plugin is structured with modular functions that collect specific data points:
- Site Data Functions:
ham_maint_get_site_name(),ham_maint_get_site_urls() - User Functions:
ham_maint_get_total_users_count(),ham_maint_get_admin_users(),ham_maint_get_editor_users() - Plugin Functions:
ham_maint_get_plugins_list() - Theme Functions:
ham_maint_get_theme_name_version(),ham_maint_get_theme_author() - Security Functions:
ham_maint_is_security_active(),ham_maint_security_setting_check() - Form Functions:
ham_maint_get_forms(),get_forms_from_site() - URL Builder:
ham_maint_get_form_url()- Combines all data into query string
🔒 Security
- Plugin checks for direct access and exits if not in WordPress context
- Maintenance button only visible to users with
@company.comemail addresses - All data is URL-encoded before being passed in query strings
🌐 Multisite Compatibility
The plugin fully supports WordPress multisite installations:
- Automatically detects multisite environment
- Collects data from all subsites when needed
- Handles site switching properly to avoid context issues
- Aggregates user and form data across all sites
📝 Notes
- The plugin requires an external maintenance form at
https://maintenance.company.com/ - Form data is passed via URL query parameters
- Some functions require specific plugins to be active (Gravity Forms, iThemes Security Pro)
- Plugin update checking requires WordPress.org API access
👤 Author
Hammer
Website: https://hammer.net
📄 License
This plugin is proprietary software developed for internal use.
🔄 Version History
- 1.0.1 - Current version
- Initial release
- Multisite support
- Comprehensive data collection
- Security and form integration
Built for efficient monthly WordPress maintenance reporting