Skip to content

brandonjp/a-better-plugins-screen-ARCHIVED

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

35 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

⚑ A Better Plugins Screen (ABPS)

Version 1.0.0 - Transform your WordPress plugins page into an intelligent management dashboard

WordPress Plugin Version PHP Version License

πŸ“– Overview

A Better Plugins Screen dramatically improves the WordPress plugin management experience with intelligent enhancements that work immediately upon activation. No configuration required!

Stop hunting for plugin settings. Stop dealing with inconsistent link orders. Start managing plugins efficiently.

✨ Key Features

πŸ”— Intelligent Link Reordering

Action links are now in a consistent, predictable order across all plugins:

  • Deactivate always first
  • Settings always second
  • Other links follow logically
  • No more hunting for common actions!

πŸ” Automatic Settings Discovery

ABPS automatically finds plugin settings pages even when plugins don't provide links. Uses multiple intelligent search methods:

  • Manual dictionary lookup
  • Plugin slug matching
  • Plugin name matching
  • Filename matching with variations
  • Description scanning

If settings can't be found, it clearly shows "No Settings Found" so you know it tried.

⚑ Real-Time Plugin Filtering

Instantly search and filter your plugin list:

  • Search by name, slug, description, or author
  • No page reloads
  • Debounced for performance
  • Keyboard accessible (ESC to clear)

βš™οΈ Configuration Panel

Easy-to-use settings panel accessible from the plugins page:

  • Toggle features on/off
  • Configure behavior
  • Export/import settings
  • Reset to defaults
  • All changes saved per-user

✏️ Edit Mode

Power users can customize individual plugins:

  • Add custom settings URLs
  • Create plugin notes
  • Organize with tags
  • All stored in localStorage (per-user)

🎨 Modern Architecture

  • Vanilla JavaScript - No jQuery dependency
  • Modular design - Clean, maintainable code
  • Accessible - WCAG AA compliant
  • Responsive - Works on mobile/tablet
  • Non-destructive - No database changes

πŸš€ Installation

From WordPress Admin

  1. Go to Plugins > Add New
  2. Search for "A Better Plugins Screen"
  3. Click Install Now then Activate
  4. Visit your Plugins page to see the improvements!

From GitHub

cd wp-content/plugins/
git clone https://github.com/brandonjp/a-better-plugins-screen.git

Then activate through the WordPress admin.

Manual Installation

  1. Download the latest release
  2. Upload to /wp-content/plugins/
  3. Activate through the Plugins menu

πŸ’‘ Usage

Basic Usage

No configuration required! Just activate the plugin and visit your Plugins page.

You'll immediately see:

  • βœ… Consistent link ordering
  • βœ… Auto-discovered settings links
  • βœ… Real-time search box
  • βœ… ABPS Settings button

Configuration Panel

Click the βš™οΈ ABPS Settings button to access:

  • Features Toggle - Enable/disable individual features
  • Link Order - Customize default link ordering
  • Filter Settings - Configure search behavior
  • Import/Export - Share settings across sites
  • Debug Mode - Enable console logging

Edit Mode

  1. Click Edit Mode in the ABPS plugin row
  2. Hover over any plugin to see edit controls
  3. Add custom settings URLs
  4. Add notes for organization
  5. Changes save automatically to localStorage

JavaScript API

ABPS exposes a public API for developers:

// Get ABPS information
ABPS_API.getInfo()

// Enable debug mode
ABPS_API.enableDebug()

// Export settings
const settings = ABPS_API.exportSettings()

// Import settings
ABPS_API.importSettings(jsonString)

// Reset to defaults
ABPS_API.resetSettings()

πŸ—οΈ Architecture

File Structure

a-better-plugins-screen/
β”œβ”€β”€ a_better_plugins_screen.php    # Main plugin file
β”œβ”€β”€ assets/
β”‚   β”œβ”€β”€ js/
β”‚   β”‚   β”œβ”€β”€ abps-config.js         # Configuration system
β”‚   β”‚   β”œβ”€β”€ abps-storage.js        # localStorage management
β”‚   β”‚   β”œβ”€β”€ abps-discovery.js      # Settings discovery
β”‚   β”‚   β”œβ”€β”€ abps-features.js       # Core features
β”‚   β”‚   β”œβ”€β”€ abps-ui.js             # UI rendering
β”‚   β”‚   └── abps-main.js           # Initialization
β”‚   └── css/
β”‚       └── abps-main.css          # Styles
β”œβ”€β”€ vendor/                        # Composer dependencies
β”œβ”€β”€ README.md
β”œβ”€β”€ readme.txt                     # WordPress.org readme
└── LICENSE

Module Dependencies

abps-main.js
β”œβ”€β”€ abps-config.js (Configuration)
β”œβ”€β”€ abps-storage.js (Storage)
β”œβ”€β”€ abps-discovery.js (Settings Discovery)
β”‚   └── abps-config.js
β”œβ”€β”€ abps-features.js (Core Features)
β”‚   β”œβ”€β”€ abps-config.js
β”‚   β”œβ”€β”€ abps-storage.js
β”‚   └── abps-discovery.js
└── abps-ui.js (User Interface)
    β”œβ”€β”€ abps-config.js
    β”œβ”€β”€ abps-storage.js
    └── abps-features.js

πŸ”§ Configuration

Site-Wide Configuration

Create a configuration file or add to functions.php:

window.ABPS_CONFIG = {
    features: {
        linkReordering: true,
        settingsDiscovery: true,
        pluginFiltering: true,
        editMode: true
    },
    customSettingsMaps: {
        'my-plugin': 'admin.php?page=my-settings'
    },
    filterBox: {
        placeholder: 'Search plugins...',
        searchableFields: ['name', 'slug', 'description']
    }
};

Per-User Settings

All user preferences are automatically saved to localStorage:

  • Feature toggles
  • Custom plugin URLs
  • Plugin notes
  • Link order preferences

🀝 Contributing

We welcome contributions!

Adding Plugins to Dictionary

If a plugin's settings aren't found, you can add it to the manual dictionary:

  1. Fork the repository
  2. Edit assets/js/abps-config.js
  3. Add to MANUAL_SETTINGS_DICTIONARY:
    'plugin-slug': 'admin.php?page=plugin_settings'
  4. Submit a pull request

Reporting Issues

Found a bug or have a feature request?

  • Create an issue
  • Include WordPress version
  • Include PHP version
  • Describe expected vs actual behavior

Development Setup

# Clone repository
git clone https://github.com/brandonjp/a-better-plugins-screen.git
cd a-better-plugins-screen

# Install dependencies
composer install

# Link to WordPress plugins directory
ln -s $(pwd) /path/to/wordpress/wp-content/plugins/

πŸ“‹ Requirements

  • WordPress: 5.0 or higher
  • PHP: 7.0 or higher
  • Browser: Modern browsers (Chrome, Firefox, Safari, Edge)
  • JavaScript: Enabled

πŸ› Troubleshooting

Settings Link Not Found

Problem: A plugin's settings link isn't showing

Solutions:

  1. Enable Edit Mode and add custom URL
  2. Submit an issue with plugin details

Features Not Working

Problem: ABPS features aren't appearing

Solutions:

  1. Check browser console for errors
  2. Enable debug mode: ABPS_API.enableDebug()
  3. Verify you're on the plugins page
  4. Check WordPress and PHP versions meet requirements

localStorage Errors

Problem: Settings not saving

Solutions:

  1. Check browser allows localStorage
  2. Check available storage space
  3. Try private/incognito mode to test

πŸ” Privacy & Security

Data Collection

ABPS does not collect any data. All settings are stored locally in your browser's localStorage.

Security Features

  • βœ… No external API calls
  • βœ… No database modifications
  • βœ… Nonce verification for AJAX
  • βœ… Capability checks for admin access
  • βœ… Sanitized user inputs
  • βœ… No eval() or similar functions

πŸ“œ License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.

πŸ‘€ Author

Brandon Pfeiffer

πŸ’ Support

If you find this plugin helpful:

πŸ“š Changelog

Version 1.0.0 (November 2025)

πŸŽ‰ Major Release - Complete Rewrite

New Features:

  • Real-time plugin filtering
  • Configuration panel with UI
  • Edit mode for customization
  • Import/export settings
  • Enhanced settings discovery
  • Vanilla JavaScript (no jQuery)
  • Accessibility improvements
  • Mobile responsive design

Technical Changes:

  • Modular architecture
  • localStorage-based storage
  • Better performance
  • Improved code quality
  • PHP 7.0+ and WordPress 5.0+ required

See full changelog for complete history.

πŸ—ΊοΈ Roadmap

Future Features (Not in v1.0)

  • 🎯 Drag-and-drop link reordering
  • πŸ”” Plugin update management
  • πŸ’¬ Plugin tooltips with metadata
  • πŸ“¦ Bulk operations
  • πŸ”— Git repository installation
  • πŸ“Š Plugin usage analytics
  • πŸ” Plugin dependency management

Made with ❀️ for the WordPress community

About

A Better Plugins Screen for Wordpress

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •