PHP Constants Manager provides a secure and user-friendly interface for managing PHP constants in WordPress. No more editing wp-config.php or theme files to add or modify constants!
Key Features
- Complete Constant Management: Create, read, update, and delete PHP constants from the WordPress admin
- Dual View System: “My Constants” for your custom constants and “All Constants” to view every constant in your WordPress installation
- Native WordPress UI: Built using WP_List_Table with sorting, searching, and bulk actions
- Multiple Data Types: Support for String, Integer, Float, Boolean, and NULL constant types with strict validation
- Real-time Validation: Form fields validate values against selected type with immediate feedback
- Active/Inactive States: Toggle constants on/off without deleting them
- Conflict Detection: Visual indicators show when constants are already defined elsewhere (predefined)
- Screen Options: Customize table views with adjustable items per page and column visibility controls
- Early Loading Option: Optional must-use plugin creation for loading constants before other plugins
- Load Order Awareness: Constants loaded during plugins_loaded action (priority 1) for broad compatibility
- Comprehensive Help: Built-in help system with detailed documentation and best practices
- Administrator Only: Secure access restricted to users with manage_options capability
- Database Storage: Constants stored safely in a custom database table with full audit trail
- Import/Export: Backup and migrate constants using CSV files with detailed error reporting
Understanding Predefined Constants
The plugin intelligently detects when constants are already defined by WordPress core, other plugins, or your theme:
* Not Predefined: Your constant is unique and will work normally
* Predefined: The constant exists elsewhere – your definition is saved but won’t override the existing value due to PHP’s constant rules
Use Cases
- Manage environment-specific configuration
- Toggle debug constants without file editing
- Store API keys and configuration values securely
- Create fallback constants for different environments
- Document constant purposes with built-in descriptions
- Audit all constants in your WordPress installation
- Backup constants to CSV files for migration between sites
- Import constants in bulk from properly formatted CSV files
Developer Information
Database Schema
The plugin creates a custom table {prefix}pcm_constants
with the following structure:
* id
– Primary key (auto-increment)
* name
– Constant name (unique, varchar 191)
* value
– Constant value (longtext)
* type
– Data type (enum: string, integer, float, boolean, null)
* is_active
– Whether the constant is loaded (tinyint)
* description
– Optional description (text)
* created_at
– Creation timestamp (datetime)
* updated_at
– Last update timestamp (datetime)
WordPress Hooks Used
plugins_loaded
(priority 1) – Early constant loading for maximum compatibilityadmin_menu
– Menu registrationadmin_post_*
– Form submission handlingwp_ajax_*
– AJAX operations
Load Order & Compatibility
Constants are defined during plugins_loaded
with priority 1, ensuring they are available to:
* All theme functions and templates
* Other plugins (unless using higher priority)
* WordPress core hooks like init
, wp_loaded
, etc.
Security Implementation
- Capability requirement:
manage_options
(administrators only) - Nonce verification on all form submissions and AJAX requests
- SQL injection prevention with prepared statements
- Input sanitization using WordPress core functions
- Output escaping for all displayed data
Code Standards
This plugin follows WordPress coding standards and best practices:
* PSR-4 autoloading structure
* WordPress database abstraction layer
* Internationalization ready
* WP_List_Table implementation
* Standard WordPress admin UI patterns