Professional WordPress plugin for managing 20i hosting services, domains, and more directly from your WordPress dashboard.
- WordPress 6.4+
- PHP 7.4+
- MySQL 5.7+ or MariaDB 10.4+
- Sodium extension enabled
- Action Scheduler available for asynchronous provisioning flows
- Outbound HTTPS access to
https://api.20i.com/ - Standard WordPress single-site deployment on the public main domain
(
home_url()). WordPress multisite/network mode is not currently supported.
See docs/environment-matrix.md for the supported environment matrix and
docs/scaling-targets.md for the current workload/rate-limit targets.
See docs/workspace-model.md for the supported single-site workspace model.
The current consolidated runtime supports one WordPress site acting as one 20i operational workspace.
- The plugin's canonical workspace identity is the public main domain from
home_url(). - The plugin can still manage many remote 20i domains and services, but they are all managed from that one local WordPress site workspace.
- WordPress multisite/network deployments are intentionally outside the current supported runtime model.
- API Integration: Connect to 20i's StackCP API for seamless service management
- Settings Management: Secure API key and secret configuration
- Connection Testing: Built-in connection testing to verify API credentials
- Error Handling: Comprehensive error handling and user feedback
- Security: Nonce-based AJAX security and input sanitization
- Internationalization: Ready for translation with proper text domain
- Download the plugin files
- Upload the
20i-wordpress-profolder to the/wp-content/plugins/directory - Activate the plugin through the 'Plugins' menu in WordPress
- Go to Settings > 20i WordPress Pro to configure your API credentials
To use this plugin, you need valid 20i API credentials:
- Log in to your 20i StackCP account
- Navigate to API settings
- Generate a new API key and secret
- Enter these credentials in the plugin settings page
The plugin includes a connection test feature that verifies your API credentials are working correctly before saving them.
Once configured, the plugin provides:
- Secure API communication with 20i services
- Foundation for managing hosting packages, domains, and servers
- Extensible architecture for adding new features
This plugin implements several security measures:
- Input Sanitization: All user inputs are properly sanitized
- Nonce Verification: AJAX requests use WordPress nonces for security
- Capability Checks: Only users with
manage_optionscan access settings - Secure Storage: API credentials are stored securely in WordPress options
20i-wordpress-pro/
├── 20i-wordpress-pro.php # Main plugin file
├── README.md # This file
├── uninstall.php # Plugin uninstaller
├── includes/ # Core plugin classes
│ ├── class-twentyi-wordpress-pro.php
│ ├── class-twentyi-wordpress-pro-loader.php
│ ├── class-twentyi-wordpress-pro-i18n.php
│ ├── class-twentyi-wordpress-pro-api.php
│ └── class-twentyi-wordpress-pro-settings.php
├── admin/ # Admin-specific functionality
│ ├── class-twentyi-wordpress-pro-admin.php
│ ├── css/
│ │ └── twentyi-wordpress-pro-admin.css
│ ├── js/
│ │ └── twentyi-wordpress-pro-admin.js
│ └── partials/
│ └── twentyi-wordpress-pro-admin-display.php
└── public/ # Public-facing functionality
├── class-twentyi-wordpress-pro-public.php
├── css/
│ └── twentyi-wordpress-pro-public.css
└── js/
└── twentyi-wordpress-pro-public.js
The plugin is designed to be easily extensible:
- Add New API Endpoints: Extend the API class with new methods
- Add Admin Features: Create new admin pages or modify existing ones
- Add Public Features: Create shortcodes or widgets in the public area
- Add Settings: Extend the settings class with new configuration options
The plugin currently supports these API operations:
get_account_info()- Get account informationget_domains()- Get list of domainsget_packages()- Get list of hosting packagesget_servers()- Get list of serverstest_connection()- Test API connection
The plugin provides comprehensive error handling:
- Network errors (timeouts, connection failures)
- Authentication errors (invalid credentials)
- API errors (invalid requests, server errors)
- User permission errors
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This plugin is licensed under the GPL-2.0+ License - see the LICENSE file for details.
For support and questions:
- Check the 20i documentation
- Review the plugin code and comments
- Contact 20i support for API-related issues
- Initial release
- Basic API integration
- Settings management
- Connection testing
- Security implementation