Personal tools
Namespaces

Variants
Actions

WordPress Manager For WHMCS

From ModulesGarden Wiki
Jump to: navigation, search

Are you planning to update your WordPress Manager For WHMCS module to version 3.x?
Follow the instructions here for a smooth update.

Contents

About WordPress Manager For WHMCS

WordPress Manager For WHMCS is a module that enables your customers to control and freely alter their WordPress instances right inside your WHMCS.

Your clients will be able to add WordPress installations using instance images and custom scripts, perform WordPress updates, install themes and plugins, create staging instances and then push them live.
All of that just next to the basic upgrade options. You will easily handle the list of services with WordPress management features.

  • Admin Area:
✔ View Active WordPress Installations, Clients And Products Summary
✔ View WordPress Installations List
✔ Choose Supported Products:
✔ Select API To Use:
✔ Softaculous Auto Installer
✔ WP Toolkit
✔ Select Available Installation Scripts
✔ Select Available Plugin Packages
✔ Select Available Instance Images
✔ Automatically Install:
✔ WordPress After Service Creation:
✔ Based On Installation Script
✔ Based On Instance Image
✔ Plugin Packages
✔ Theme Packages
✔ Toggle Blocked Plugins And Themes
✔ Toggle Automatic Deletion Of Blocked Plugins And Themes
✔ Set Scan Interval For Blacklists Cleaner
✔ Define Default Theme To Be Enabled After Installation
✔ Choose Custom Plugins And Themes Available To Clients
✔ Choose Instance Images Available To Clients
✔ Toggle Permission To Delete WordPress Auto-Installation
✔ Define Protocol For WordPress Auto-Installation
✔ Select Welcome Email Template
✔ Define Installation Limit Per Hosting Account
✔ Define Update WordPress Notification Mail Interval
✔ Select Update WordPress Email Template
✔ Toggle Debug Logs
✔ Add/Remove Selected Plugins From Blacklist:
✔ Prevent Blacklisted Plugins From Being Installed By Clients
✔ Remove Blacklisted Plugins From Current Installations
✔ Add/Remove Selected Themes From Blacklist:
✔ Prevent Blacklisted Themes From Being Installed By Clients
✔ Remove Blacklisted Themes From Current Installations
✔ Define Client Area Features:
✔ Management Options
✔ Action Options
✔ Plugins:
✔ Create Plugin Packages:
✔ Enter Package Name And Description
✔ Choose Available Plugins
✔ Add Custom Plugins
✔ Themes:
✔ Create Theme Packages:
✔ Enter Package Name And Description
✔ Choose Available Themes
✔ Add Custom Themes
✔ Create Instance Images:
✔ From Local Or External Installation Source
✔ Public Or Private
✔ Access Module Tasks List And Logs
✔ Provide Google API Token For PageSpeed Insights
✔ Define Allowed Protocols For WordPress Instances To Be Used In Client Area
✔ Enable Extended View Of Instances List
✔ Enable And Customize WHMCS Client Home Page Widget
✔ Customize Module Language Files With "Translations" Tool
✔ Control Staff Access Level To Specific Resources With ACL
✔ View And Manage Logs
  • Client Area:
✔ View/Create/Edit/Delete WordPress Installations
✔ Using Simple List Of Instances
✔ Using Extended View With Instances Preview Screenshots
✔ View/Create/Edit/Delete WordPress Installations On Your Resellers Accounts:
✔ cPanel
✔ DirectAdmin
✔ View List Of Recent WordPress Instances On WHMCS Client Home Page
✔ Update Selected WordPress Installations To Newest Version In One Batch
✔ Import WordPress Installation From Remote Server:
✔ FTP Based Import
✔ Username/Password Based Import
✔ Create WordPress Installation Based On Instance Image
✔ Log In To Admin Panel Of WordPress Instances
✔ Receive Email Notifications And Get Visual Alerts When WordPress Update Is Available
✔ View Installation Details:
✔ Domain And URL
✔ Product On Which Is Installed
✔ WordPress Version
✔ Site Name
✔ Creation Date
✔ Directory Path
✔ Database Access Details
✔ Debug Status
✔ Instance Status
✔ SSL Certificate Expiration Date
✔ View Website Details Based On Google "PageSpeed Insights":
✔ Desktop And Mobile Screengrab Thumbnails Of Website
✔ General Performance Information
✔ Page Statistics
✔ Opportunities
✔ Audit Passed Successfully
✔ Diagnostics
✔ Manage Installation:
✔ Create/Restore/Download/Delete WordPress Backups
✔ Browse/Install/Manage Themes
✔ Search And Install Themes Directly From WordPress.com Base
✔ Preview Theme Before Installation
✔ Activate/Deactivate Installed Themes
✔ Update Installed Themes
✔ Browse, Install And Manage Plugins
✔ Search And Install Plugins Directly From WordPress.com Base
✔ Activate/Deactivate Installed Plugins
✔ Update Installed Plugins
✔ Browse And Install Plugin Packages
✔ Perform Bulk Changes On Themes, Plugins, And Backups
✔ View/Create/Edit/Delete WP Config Records
✔ View/Create/Edit/Delete WordPress User Accounts With Specified Privileges
✔ Perform Actions:
✔ Log In To Control Panel
✔ Access Credentials Setup
✔ Clear Cache
✔ Clone To New Domain
✔ Update To Newest Version
✔ Change Domain
✔ Toggle Auto Upgrade Of:
✔ WordPress Installation
✔ WordPress Plugins
✔ WordPress Themes
✔ Create Staging
✔ Push Staging To Live Environment
✔ Enable/Disable SSL
✔ Enable/Disable Debug Mode
✔ Enable/Disable Maintenance Mode
✔ Create Instance Image
✔ Delete
✔ Single Sign-On Into WordPress Panel From Product View
  • Supported Modules:
✔ cPanel (Root Access Required)
cPanel Extended - With Complete Integration
✔ DirectAdmin (Admin Account Required)
DirectAdmin Extended
✔ Plesk (Root Access Required)
Plesk Extended
  • Supported Integrations:
✔ Softaculous Auto Installer - Premium (cPanel, Plesk, DirectAdmin)
✔ WP Toolkit (cPanel, Plesk) - View Wiki To See Differences In Support
  • General Info:
✔ Automatic Let's Encrypt SSL Installation (DirectAdmin Only)
✔ Fully Integrated With Lagom WHMCS Client Theme
✔ Multi-Language Support With Custom Translations Tool
✔ Supports PHP 8.2 Back To PHP 7.4
✔ Supports WHMCS Themes "Six" And "Twenty-One"
✔ Supports WHMCS V8.11 Back To WHMCS V8.8
✔ Requires ionCube Loader V13 Or Later
✔ Easy Module Upgrade To Open Source Version

Installation and Configuration

In this short tutorial we will show you how to successfully install WordPress Manager For WHMCS.

We will guide you step by step through the whole installation process.

1. Log in to our client area and download the module.
WM1.png
2. Extract the package and upload its content into the main WHMCS directory.

The content of the package to upload should look like this.

WM 1s2.png

cPanel (WHM) Installation

Important: Root access is required to perform the installation successfully!
1. Upload and extract the 'UploadToWHM' folder into the /root cPanel directory.

Files in your cPanel /root/uploadToWHM/ directory should look like these on the following screen.

WM 2.png
2. Once the module is uploaded, enter the /root/uploadToWHM/ catalog and run the following command in the console:
sh install.sh

After a brief moment you should see a confirmation that the plugin has been successfully installed.

WM 3.png

DirectAdmin Installation

Important: Admin account is required to perform the installation successfully!
1. In the 'uploadToDirectAdmin' folder find the 'wordpress_cli.tar.gz' package.

Next, log in to your DirectAdmin panel as an administrator and go to 'Plugin Manager' .

WM 2 1.png
2. Once in the 'Add Plugin' , select the 'File' option and choose the 'wordpress_cli.tar.gz' package to upload.
Additionally, mark the 'Install after upload' option and press the 'Add Plugin' button.
WM 2 2.png
3. Once the plugin is uploaded and successfully installed, you should see it on the plugins list.
WM 2 3.png

Plesk Installation

Note: The current version of the module requires your Plesk server configured in WHMCS to use username and password as authentication to the Plesk API.
We also recommended using Plesk version 17.8.11 at least.
Important: Root access is required to perform the installation successfully!
1. In the 'uploadToPlesk' folder find the 'wordpress-manager-cli-X.X-X.zip' package.

Next, log in to your Plesk panel as an administrator and go to the 'Extensions' section.

WM 3 1.png
2. Once you are in the 'Extensions' section, go to the 'My Extensions' tab and select the 'Upload Extension' option.
In the opened window choose the 'wordpress-manager-cli-X.X-X.zip' package to upload and press the 'OK' button.

Important: If for some reason the 'Upload Extension' button is disabled, you will need to install the free panel.ini editor extension.
Next, search for 'extensionUpload' and copy it. Then, go to the editor tab and paste that setting.
Finally, scroll down to the last line and set it from false to true.

WM 3 2.png
3. Once the plugin is uploaded and successfully installed, you will see it on the plugins' list.
WM 3 3.png

WHMCS Installation

1. Extract the 'modules' catalog into the main WHMCS directory.
WM S2 2.png
2. When you install WordPress Manager For WHMCS for the first time, you have to rename the 'license_RENAME.php' file.

This file is located in 'modules/addons/wordpress_manager/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'.

WM S3.png
3. In order to configure your license key, you have to edit the previously renamed 'license.php' file.

Enter your license key between quotation marks as presented on the following screen. You can find your license key in our client area → 'My Products'.

WM S4.png
4. In the next step, set up the 'storage' folder as recursively writable.

This folder is available at 'your_whmcs/modules/addons/WordpressManager/'.

WM S4s.png
5. Now you have to activate the module in your WHMCS system.

Log in to your WHMCS admin area. Click 'System Settings' , then choose 'Addon Modules'.
Afterwards, find 'WordPress Manager' and press the 'Activate' button.

WM2 6.png
6. Then, you need to permit access to this module. To do so, click on the 'Configure' button, choose 'Full Administrator' and press 'Save Changes'.
WM2 7.png
7. Now you have to add cron jobs as shown below:
  • Synchronization of WordPress installations and 'Enable SSL' action when installing new WordPress instances, set it up to run in 5-10 minute intervals.
php -q /your_whmcs/modules/addons/WordpressManager/cron/cron.php Synchronize
  • Module tasks processing (5 minutes interval is recommended):
php -q /your_whmcs/modules/addons/WordpressManager/cron/cron.php queue

Do not forget to replace 'your_whmcs' with your WHMCS root location.
Note: In case you wish to stop the cron job then move to "your_WHMCS/modules/addons/WordpressManager/cron" directory and clear the file's content.

8. Good job! You have just successfully installed WordPress Manager For WHMCS! Now, in your WHMCS, press 'Addons' and then 'WordPress Manager'.
WM2 8.png

Management

This section has been divided into two main parts to allow full and, at the same time, easy understanding of the functionality of the whole module.
In the first part 'Management of Addon' you will see a general outlook of the module's basic configuration, through the product management from the admin area.
The second part describes additional settings and tools concerning WordPress installations that can be used while working in the client area.

Admin Area

Now that your module is already configured, you may access it at 'Addons' 'WordPress Manager'.

Home

The 'Home' section is the first open when entering the addon.

You will see here a quick summary of the WordPress connected elements and a list of all active WordPress installations with any details on their installation.

WM2 9.png

Product Settings

In the 'Product Settings' section you can see the list of compatible products present in your system that WordPress can be configured with.

Activate the products and press the 'Edit' icon marked on the screen below.

WM2 10.png

General

In the 'General' section you will need to set up some specific options concerning the plugins installation. Take a look at the below notes to learn about all of the possibilities.
  • API - select the desired integration method for WordPress Manager.
    • "Softaculous" - choose to utilize Softaculous for WordPress installations
    • "WP Toolkit" - seamless integration with cPanel's WP Toolkit (available for cPanel only)
      Please refer to the WP Toolkit Integration section to see the list of supported features
  • Debug Mode - if enabled, the module's activity details will be gathered in the 'Logs' subsection.
  • Installation Scripts - allow your clients to install your pre-configured WordPress instances instead of performing a clean installation only.
    This feature can be useful if you already have a few WordPress installations ready, such as a custom theme with demo content or other plugins.
    Script Selection Requirement: For both WP Toolkit and Softaculous, you must select at least one script for the module to function properly. You can choose a clean installation with #26 WordPress in both cases.
    Softaculous note: The dropdown will include various installation scripts from Softaculous, not just WordPress. Ensure you only select WordPress-based installations to avoid unpredictable errors.
  • Blocked Plugins - enable if you do not wish your clients to install certain plugins due to security, safety or any other reason.
    Define the plugins that will not be allowed for installation in the Plugins Blacklist section.
  • Delete Blocked Plugins - enable if you wish to automatically delete plugins that have been added to the blacklist.
    Remember that the pointed here plugins will also be removed from the already existing WordPress instances.
  • Blocked Themes - enable if you do not want your clients to install particular themes due to security, safety, or any other reason.
    Define the themes that will not be allowed for installation in the 'Themes Blacklist' section.
  • Delete Blocked Themes - enable if you wish to automatically remove themes that have been added to the blacklist.
  • Scan Interval [Hours] - the products will be scanned using a cron job in the provided time intervals, suggested time interval - every 3 hours.
    Please do not set it more often as the server may be overloaded during the scan. It works only if the 'Delete Blocked Plugins' / 'Delete Blocked Themes' option has been enabled.
  • Plugin Packages - select any packages containing a bunch of preselected plugins that can be later quickly installed, read more about them in the section Plugin Packages.
  • Auto Install Plugin Packages - choose which plugin packages will be installed automatically when a new WordPress instance is created by a client.
  • Custom Plugins - if you previously prepared 'Custom Plugins' , here you may define which ones will be available to your clients.
  • Auto Install Theme Packages - choose which theme packages will be installed automatically when a client creates a new WordPress instance.
  • Default Theme - you may select a theme that will be automatically activated once the WordPress installation is complete.
  • Custom Themes - select which of the previously created 'Custom Themes' should be accessible to your clients.
  • Instance Images - select which of the existing images clients will be allowed to use to add a new installation, read more about them in the section Instance Images.
  • Auto Install WordPress After Service Creation - you may here decide whether the WordPress instance should be automatically installed once the client's service is created:
    • Disabled - select if you do not want the WordPress instance to be automatically installed after provisioning the product.
    • Based On Instance Image - if chosen, the new dropdown will appear where you can choose the instance image based on which the WordPress will be automatically installed.
    • Based On Installation Script - if selected, then you can choose in the new dropdown, which of the installation scripts will handle the installation of the WordPress instance after the service is created.
  • Delete Auto Installed WordPress Installations - enable this option to allow the client to delete those WordPress installations that have been installed automatically.
  • Protocol - select the protocol that will be used for WordPress auto installation when the client service is created.
  • Welcome Email - select an email template that will be delivered to the customer when the WordPress installation is complete.
  • Installation Limit per Hosting Account - define the number of max installations per hosting account.
  • Send Update WordPress Notification Mail - enable to allow customers to receive emails informing them that there is a new update available for their WordPress installation.
  • Send Update WordPress Notification Mail Interval [Hours] - determine the time interval to send notification emails about an available update for the client WordPress installation.
  • WordPress Update Email Template - select an email template that will be sent to the customer with WordPress installation details when auto-installation is done.
    By default, the module will also create the 'New WordPress Information' sample template which you can use or familiarize yourself with the available merge fields variables.

Keep in mind that if an instance is imported (for example when using "Based On Instance Image" automatic installation), it will overwrite the Auto Install Plugin/Theme Packages feature.
If you intend to take advantage of those two functions, we recommend using the "Based On Installation Script" installation method.

WM2 11.png
Note: By default, installation script names in the client area will be displayed without their IDs. If you still want to change their names to be more client-friendly, you can do it in a language file.
Go to the Tips section and look for more details in the second point.

Plugins Blacklist

This section of the Product Settings includes a list of blocked plugins - those which your clients are not allowed to install.

In order to add a plugin to the list simply start typing its name in the search field and press enter to see the results.

WM2 12.png
Add the selected plugin to the blacklist.
It will no longer be available for clients to install if the "Blocked Plugins" option has been enabled in the General section.
WM2 13.png

Themes Blacklist

This section of the Product Settings includes a list of blocked themes - those that your clients will not be able to install.
If you want to add a theme to the list, simply start typing its name in the search field and press enter to see the results.
Add the selected themes to the blacklist.
WM2 13 1.png
Your clients will not be able to install the previously added themes if the "Blocked Themes" option has been enabled in the General section.

If you decide to remove the preferred themes from the 'Blocked' section, you may easily do this by clicking the appropriate button.

WM2 13 2.png

Client Area Features

In this section, you can define which options should be enabled for clients.
To make it easier, the available options are divided into two parts, the 'Management Options' and 'Action Options' .
WM2 13 3.png

Plugins

In the 'Plugins' section you may prepare ready-made packages selected by your plugins or prepare custom plugins and then offer them to install to your clients.

In this quick and convenient way, your clients will be given an offer with perfectly adjusted and suitable plugins to shorten the time of searching and verification.
You may also use this package to automatically preinstall given plugins when a client creates a new WordPress instance.
Prepare packages, enable when ready or disable when you want to withdraw them from the offer temporarily or edit their content and surely delete when no longer needed.
Choose 'Plugin Packages' and press 'Create Package' to compose the bundle.
Note: Plugins included in the packages are always installed in their newest version available in the WordPress base.

WM2 14.png
In the 'General' part, enter the package name and describe the package in short. Save the changes and then move to the 'Plugins' tab.
In this part you will also need to enable the package once it is prepared.
WM2 15.png
Add plugins by searching through the existing ones, start typing the plugin name, press enter and the results will appear.
Add a single plugin or use the mass action button to add plugins in bulk.
WM2 16.png
Added plugins will appear on the list of included immediately. You may always delete any unwanted plugins when editing the package by pressing the bin icon.
WM2 17.png
Once you have the packages ready, move again to the General configuration of a product and select which of the packages will be available to choose from by clients or be automatically preinstalled for a single product.
Surely, you may assign a different set of packages to each product.
WM2 17 1.png
There is also the possibility to add 'Custom Plugins' . Press the following button to do so.
WM2 17 2.png
Now, provide a name and description of your 'Custom Plugin' . Then, complete the 'URL' and finally define a version.
WM2 17 3.png
If you wish to modify your 'Custom Plugins' , you can easily do this by pressing the 'Edit' button.
WM2 17 4.png

Themes

In the 'Themes' section you may prepare ready-made packages selected by you themes or create your 'Custom Themes' and automatically install them along with the WordPress instance.

In this quick and convenient way, your clients will have quick access to preinstalled themes on their WordPress without the need of searching them on their own.
Prepare packages, enable when ready or disable when you want to withdraw them from the installation temporarily or edit their content and surely delete when no longer needed.
Choose 'Theme Packages' and press 'Create Package' to compose the bundle.
Note: Themes included in the packages are always installed in their newest version available in the WordPress base.

WM2 2 14.png
In the 'General' part, enter the package name and describe the package in short. Save the changes and then move to the 'Themes' tab.
In this part you will also need to enable the package once it is prepared.
WM2 2 15.png
Add themes by searching through the existing ones, start typing the theme name, press enter and the results will appear.
Add a single theme or use the mass action button to add themes in bulk.
WM2 2 16.png
Added themes will appear on the list of included immediately. You may always delete any unwanted themes when editing the package by pressing the bin icon.
WM2 2 17.png
Once you have the packages ready, move again to the General configuration of a product and select which of the packages will be installed automatically for a single product.
Surely, you may assign a different set of packages to each product.
WM2 2 17 1.png
There is also the possibility to add 'Custom Themes' . Press the following button to do so.
WM2 17 5.png
Now, provide a name and description of your 'Custom Theme' . Then, complete the 'URL' and finally define a version.
WM2 17 6.png
If you wish to modify your 'Custom Themes' , you can easily do this by pressing the 'Edit' button.
WM2 17 7.png

Instance Images

This section is dedicated to WordPress images that are used to allow clients to add WordPress installations using these very images of WordPress.
To create such an image, simply press the 'Add Image' button and then follow the steps described below.
WM2 18.png
In order to properly configure a new instance image you will need to set up the below options.

Please be aware that to create such an instance image you will need to deliver full access data to a server with WordPress installations that will be used to create an image.
Once a client decides to use an image to add an installation, he will be connected to the server, WordPress instance downloaded and installed.
The whole process may take from a few up to a dozen or so minutes, depending on the instance complexity.

  • Enable - enable the image when it is ready to allow clients to use it.
  • Import Type - select the method to import files, and choose between two types:
    • FTP Based Import - select to get files from a remote server.
    • Username/Password Based Import - secure access with logging credentials, like logging into a WordPress admin account.


For FTP Based Import provide the following data:

  • Custom - if you switch on the custom images, you will need to provide a custom name of the installation and domain that will be used.
  • Installation - select the existing installation of WordPress to configure instance images.
  • Private - if disabled, the instance will be visible to all clients who own a product with an assigned instance (more details here).
    'Private' flag is assigned to an instance image created by a client, which is visible to the client who has created it.
  • Name - give the instance image a unique name.
  • Protocol - select protocol form: 'FTP', 'FTPS' and 'SFTP' to connect.
  • FTP Path - define the path to the directory that is relative to the home directory of the users.
  • Server Host - host used to connect via FTP.
  • Server Port - port number to connect to the FTP server.
  • FTP User - user to connect to the FTP server.
  • FTP Password - password for the user to connect to the FTP server.


For Username/Password Based Import provide the following data:

  • Name - give the instance image a unique name.
  • WordPress Login URL - designated domain for your WordPress installation, serving as a primary web address where you can log into the admin panel to manage your website.
  • Username - the login name used to access the WP-Admin panel.
  • Password - the password required for secure log in to the WP-Admin panel.
WM2 19.png
Once you have the images ready, move again to the General configuration of a product and select which of the images will be available for a single product.
Surely, you may assign different sets of images to each product.
WM2 19 1.png

Other

Logs

The module activities are recorded in the section named 'Logs'. You can filter the logs by clicking on the 'Show' icons.
WM2 20 1.png
All entries can be deleted at any time, just click the button marked on the screen below.
Keep in mind that you can remove multiple logs at once.
WM2 21.png

Tasks

This section gives you the view on module tasks to enable SSL in two scenarios:
  • for newly created installations
  • when creating staging instances
WM2 23.png
Press the 'Information' button to get a quick view on the basic information on the task and log details.
WM2 24.png
Logs section will include information on errors only. If a task is completed successfully, no information will be included here.
WM2 25.png
All tasks can be deleted separately. To do that, just click the button marked on the screen below.
Keep in mind that you can remove multiple tasks at once.
WM2 25 1.png

Settings

This section controls WHMCS-wide settings that you can configure to fit your client's needs.
  • PageSpeed Insights - Enables PageSpeed Insights functions in the 'Website Details' in the client area.
    Note: 'Website Details' have to be enabled on per per-product basis for clients to access this function. The toggle can be found under 'Product Settings' → 'Edit' → 'Client Area Features' → 'Management Options'.
  • Google API Token - Required to successfully enter and use the 'Website Details' section of the WordPress instance in the client area. The section below explains where you can find the required API Key.
  • Speed Test Cron Interval - Define the speed test cron interval.
WM2 25 04.png
  • Protocols - Select the protocols you want to enable for clients to use.
  • Extended View - Enable to use the extended client area view with site screen thumbnails and action tools.
  • Widget size - Decide if you would like to use the enable the client area widget and set its size.
WM2 25 05.png
Google API Token
In order to get your Google API token necessary for the Website Details section to work, open the following site: https://developers.google.com/speed/docs/insights/v5/get-started
Scroll down to 'Acquiring and using an API key' section. There, press 'Get a Key' button:
WM2 25 03.png
'Enable PageSpeed Insights API' modal will appear. Select your project or create a new one, and then press 'Next'.
WM2 25 02.png
That's all! Your Google API key is ready, copy it and paste in the 'Google API Token' field in the WordPress For WHMCS module Settings as described in the above section.
WM2 25 01.png

Translations

Customizing language files is now extremely easy with the "Translations" tool that is now available directly in the addon.
Its user-friendly design makes managing various language file tweaks a smooth and efficient process.

Prepare translations for the original English files with this handy built-in tool. For specific instructions on how to use this tool please refer to its dedicated article, you will find it here.

WPT 1.png

Access Control

'Access Control' allows you to specify and control exactly which sections of the module can be accessed by your administrators.

The way it works is that you create access control rules in which you decide if a specific admin, or admin role has full access, or is restricted to only specific sections.

Rules

Start with creating a new rule, click on the 'Create Rule' button and a dedicated form will appear. Below you will find a description of every field required in the form.

WMAC 1.png
Fill out the following fields to create resources access rule:
  • Rule Name - Pick a name for your rule.
  • Grant Full Access - Enable to grant full access to all sections of the module to the specified personnel. Disable to specify in two additional fields below, to which resources access will be granted, and to which it will be denied.
  • Allow Access To - Designate the resources that the specified personnel will have access to.
  • Restrict Access To - Specify the resources that the specified personnel will not have access to.
  • Administrators - Specify which singular administrators will be subject to the new rule. If the specific administrator is already included in the group you have picked, you do not need to add him separately.
    Note: All restrictions for specific administrators are summed with the restrictions on their role groups, across all rules.
  • Administrator Roles - Specify which administrator role groups will be subject to the new rule.

Important: When picking specific sections, keep in mind that allowing a parent section will also allow all of its children.
For example by allowing 'Discounts' you allow 'Discounts → Create,' 'Discounts → Edit' and 'Discounts → Delete.'
If you would like to give access to everything about discounts, but the ability to delete them, you can pick 'Discounts' in 'Allow Access To' and then 'Discounts → Delete' in 'Restrict Access To.'
Restrict takes precedence over Allow, so if a specific section is included in both, it will be restricted.

WMAC 2.png
To edit or delete existing rules, use the icons to the right.
WMAC 3.png

Resources

Use the toggles in the 'Resources' section to specify which of them should be subject to logging, found in the 'Logs' section.
Every time an administrator requests a toggled resource, it will be recorded.
WMAC 4.png

Access Control Logs

The logs section includes:
  • Log ID
  • Name of the administrator
  • Requested resource
  • Applied Resource
  • Rule Name
  • Date

Use the trash bin icons to delete specific logs, or utilize the mass action function to delete multiple logs at once.

WMAC 5.png

Email Templates

By default, the module creates the 'New WordPress Information' email template You can find it in your WHMCS 'Setup' 'Email Templates' section.

This template can be used to send WordPress details to the customer when the automatic installation is enabled after the service creation.
You can also modify that template, create your own, and assign it to the service in the product general settings.

Additionally, you may use the merge fields variables, which will be replaced with the corresponding WordPress installation details when are sent to the customer:

  • {$installation.domain} - WordPress installation domain
  • {$installation.url} - WordPress installation URL
  • {$installation.version} - WordPress version
  • {$installation.path} - WordPress installation path
  • {$admin_username} - generated WordPress username
  • {$admin_pass} - generated WordPress password
  • {$installation.id} - ID of the WordPress instance in your WHMCS. It can be used to prepare URL that will redirect customer directly to the instance in their client area.
    E.g. {$whmcs_url}/index.php?m=WordpressManager&mg-page=home&mg-action=detail&wpid={$installation.id}
  • {$adminurl} - directory path to the WordPress admin control panel. It should be used with the {$installation.url} veriable. E.g. {$installation.url}/{$adminurl}
WM2 25 2.png

Client Area

Now that you already have the module configured, you may see the process of adding and managing the WordPress installations by your clients.
In the client area, find and choose your product with WordPress management support and then move directly to the relative section.
WM2 26.png

WordPress Installations

Extended view, toggled by the admin in the module addon, read more here.

At the top of the page, you will find all WordPress installations located in dedicated segments. Every installation has its own section with screen grabs, installation details and instant access to action tools.
The 'Reseller Accounts' section is visible only in case such accounts are detected in the client's cPanel, DirectAdmin or Plesk panels, otherwise, it is hidden.

WM2 27 0.png
The standard view of the WordPress Management page includes the very same information as the extended view, yet they are placed in a simple list form. Underneath the list, there is also a section dedicated to 'Reseller Accounts'.

The former contains a list with basic information regarding every installation, including the domain, related product, URL, etc.
The 'Reseller Accounts' section again is visible only in case such accounts are detected in the client's cPanel or DirectAdmin panels, otherwise, it is hidden. They are displayed in a standard manner only.

WM2 27.png
Use action buttons marked on the screen to perform actions on a single installation:
  • View/Edit installation details
  • Log into the Control Panel
  • Update

Additional actions include:

  • Clear cache
  • Clone the installation
  • Change domain
  • Manage auto upgrade
  • Create staging instance
  • Push to live the staging instance
  • Manage SSL status
  • Maintenance mode status
  • Create instance image
  • Delete installation
WM2 27 1.png
Among additional actions you will find the options to:
  • Add a new installation
  • Import the installation from a remote server
  • Create the installation from an instance image
WM2 28.png
You may also delete or update multiple WordPress instances to the newest version at once, use mass actions to do so (standard view only).
WM2 28 1.png
If you wish, you may create a backup of the instances before processing the update.
WM2 28 2.png

New Installations

As mentioned above, there are three ways to create a new WordPress Installation. The first basic way is to simply install a completely new and clean instance of WordPress.

Press the button 'New Installation' marked on the screen below and read the instructions to see how to install a pure new instance.

WM2 29.png
A new window with two tabs will open.

In the first Details tab, fill in the following fields:

  • Product/Service - select hosting to install WordPress on it.
  • Protocol - select protocol from among: 'https://', 'http://', 'http://www' and 'https://www'
  • Domain - provide a domain the software will be installed on.
  • Installation Script - here you can select any custom installation script that you want to install.
    Note that this field will be displayed only for domains which products have installation scripts configured in the Products Settings.
    If it is not displayed then the clean WordPress installation will be applied.
  • Plugin Packages - select plugin packages to install on WordPress, more about their configuration can be found here.
  • Administrator Password - generate an administrator password for this new installation of WordPress.
  • Site Title - the name of a site created for the installation.
  • Language - choose a language for the installation.
  • Administrator Username - enter the administrator account username for this installation.
  • Administrator Email - enter the administrator account email address for this installation.
WM2 30.png
Complete the configuration by switching to the Other tab and enter the remaining fields (optional):
  • Description - describe the installation site shortly.
  • Directory - provided here directory is relative to your domain, leave empty to install on your domain or enter e.g. 'dir' to install on http://mydomain/dir/.
  • Overwrite Directory - if enabled, the contents of the directory will be overwritten.
  • Database Name - the name of a newly created database that will be created during the installation.
  • Database Prefix - the table prefix for the tables created by the app (optionally).
  • Multisite - if enabled, your blog will have the 'Multisite' option. Note that your server must support 'Apache mod_rewrite'.
  • Auto Upgrade - define the WordPress installation updates automatization method:
    • Disable Auto Upgrades
    • Upgrade to the latest version available (Major or Minor)
    • Upgrade to Minor upgrades only
  • Auto Upgrade Plugins - if enabled, all active WordPress plugins installed for this installation will be automatically updated to the latest versions when available.
  • Auto Upgrade Themes - if enabled, the active WordPress theme for this installation will be automatically updated to the latest version when available.

If you have entered all the data correctly, you can now press the 'Create' button to complete the installation.
Note: data in 'Other' section are not required to create the instance successfully, it can be simply skipped.

WM2 31.png
Import From Remote Server
The second way to add a new installation is by importing an existing installation from a remote FTP server. Press the additional actions button to find the redirection.
WM2 32.png
First of all, fill out the data on the source server:
  • Import Type - select between two import types:
    • FTP Based Import - select to get files from a remote server.
    • Username/Password Based Import - secure access with logging credentials, like logging into a WordPress admin account.

For FTP Based Import provide:

  • Domain - domain name where the source script is located
  • Server Host - used as a host to connect via FTP
  • Protocol - the protocol used for connection to the domain
  • Server Port - port number to connect to the FTP server
  • FTP User - user used to connect to the FTP server
  • FTP Password - user password to connect to the FTP server
  • FTP Path - path to the directory relative to the home directory of a user for installations
  • Installed Path - directory under the domain where your script is installed, leave empty if installed in the root directory
WM2 33.png
For Username/Password Based Import provide:
  • WordPress Login URL - designated domain for your WordPress installation, serving as a primary web address where you can log into the admin panel to manage your website.
  • Username - the login name used to access the WP-Admin panel.
  • Password - the password required for secure log in to the WP-Admin panel.
WM2 33 0.png
Then move to the other tab, to provide any data on the destination.
  • Product/Service - choose a hosting to install WordPress on it.
  • Protocol - select the protocol that will be used.
  • Domain - destination domain where the script will be imported.
  • Directory - directory under the domain where the script will be imported. Leave blank to import to the root directory of your domain.
  • Database - database name for the script.
  • Site Title - enter the name to be displayed as the website title in WordPress.

Press the 'Import' button to finalize the process.
Note: the process may take from a few up to a dozen or so minutes for the instance to appear on the list, depending on the instance size or external server connection speed.

WM2 34.png
Instance Image
It is also possible to use an existing instance image.
WM2 35.png
Provide the below enumerated and described details, then press 'Create' to complete:
  • Product/Service - choose hosting to install WordPress on.
  • Instance Image - select WordPress instance image from client private instances and public images created by the admin.
  • Protocol - select the protocol that will be used.
  • Domain - destination domain to which the new instance will be imported.
  • Directory - directory under the domain, leave blank if you want to install WordPress instance in the root directory.
  • Database - type in the database name for the script.
  • WordPress Username - enter the admin user name established for the new WordPress installation.
  • WordPress Password - enter the password established for the new WordPress installation.
  • Site Title - enter the name displayed as the website name in WordPress.

Note: the process may take from a few up to a dozen or so minutes for the instance to appear on the list, depending on the instance size or complexity.

WM2 36.png

Installation Management

Once you have successfully created a new installation, you can edit its advanced options or simply remove it in case you no longer need it.
Let us view the management options and available actions now.

Note: Please be aware that deleting installations "(3)" is not possible from this section for the WP Toolkit for Plesk API. To delete an instance, you need to log into the Plesk panel.
Once deleted there, please wait until the next cron execution for the instance to be removed from this management section. For more information, refer to the WP Toolkit integration section.

WM2 27.png
Installation Details
On the very first page, when you enter the edit section, there is an exemplary configuration of your installation in the 'Management' section.
You will find there all the basic information, such as domain and database details, available at hand.
WM2 38.png
Website Details
Desktop and mobile website details based on Google "PageSpeed Insights" statistics. This section requires to previously generate and provide the 'Google API Token'.
Follow this instructions to learn how to do that.
WM2 38 1.png
Backups
As the name suggests, this section provides you with an ability to create backups.
You are allowed to download, restore and delete a particular backup.
WM2 39.png
Surely you can delete multiple backups at once. Take a look at the screenshot below.
WM2 40.png
When creating a backup installation, decide whether to the backup directory only, the data directory, or the database. Select location and then confirm the action.

Note: Keep in mind that creating a backup might take a longer while. Backup will appear on the list when it is ready.

WM2 41.png
Themes
Here you are enabled to activate, disable, update, and delete the existing theme. Add new themes to your WordPress installation in the 'Add New' tab.
WM2 42.png
In order to add a new theme, start typing in the desired theme's name in the search box, and press enter to see the actual results.
You may press the theme thumbnail to preview the on wp-themes.com. Afterwards, press the icon marked on the screenshot below to continue.
WM2 43.png
Confirm the installation.
WM2 44.png
If there are any 'Custom Themes' accessible for adding, they will be located here.
WM2 44 1.png
Use 'Mass Action' buttons to update or delete numerous themes with a single click.
WM2 45.png
Plugins
Here you are enabled to activate, deactivate, delete or update the already existing plugins. You can also add new plugins to your WordPress installation in the 'Add New' tab.
WM S 181.png
To add a new plugin, you are required to type in at least the initial letters of the desired plugin's name into the search field to see the actual results.

Afterwards, press the symbol marked on the screenshot below, and confirm your choice in the window that should be visible on your screen.

WM S 1811.png
WM S 1812.png
Press the info icon to read its short description.
WM S 1811 0.png
In case the plugin seems interesting, just press the 'Install' button.
WM S 1811 1.png
There is also an option to add your custom plugins, simply press the adequate icon and confirm the action.
WM S 1811 3.png
The 'Mass Action' feature is also present in this section, so you will be able to handle multiple plugins more efficiently and at the same time.
WM S 182.png
Plugin Packages
Plugin Packages allow to install a bunch of pre-organized plugins at once. Information on how to prepare such packages can be found here.

Simply press the '+' button to install the package with plugins that seems especially attractive to you.
Note: Plugins included in the packages are always installed in their newest version available in the WordPress base.

WM2 51.png

Config

In this section you can directly alter the records from the wp-config.php file.
This file is located in the root of your WordPress file directory and contains your website's configuration details such as database connection information.
You are allowed to edit or delete already existing config records as well as create new ones.

Important: Be particularly careful when editing these config records! You can find more information about editing the 'wp-config.php' file here.

WM 20.png
When creating a new config record, enter its proper name, and value and choose one of the two available types ('Constant' or 'Variable').
WM 21.png

Users

Enter this section to manage existing users and create new ones. You are allowed to perform the following actions on a single user:
  • edit the existing user details (1) (change role, change display name, change the email address)
  • change its password (2)
  • delete the user(3)
WM2 21 1.png
When creating a new user, you will have to provide the following data to complete:
  • enter the username
  • provide its email address for communication
  • type in the display name
  • enter the user password
  • select the role from the dropdown menu
  • decide whether to send a notification email about creating the account
WM2 21 2.png

Available Actions

In the 'Actions' area you can find the following options to:
  • Control Panel - log in to your WordPress panel directly any time you like.
  • Clear Cache - remove the cache of your installation.
  • Update - after selecting this option, your WordPress will be updated to the latest version if any is available.
  • Delete - immediately remove the complete installation along with its settings or selected parts of it.

Important: Please refer to the WP Toolkit Integration section for the list of troublesome features and make sure they are supported by the API you are using.

Underneath you can find a detailed description of all the remaining actions. Please take a look.

WM2 54.png
Clone
This action will result in cloning the installation to another domain. To clone the installation you need to:
  • Select the protocol type
  • Provide a domain where the cloned WordPress instance will be installed
  • Enter a directory - note that the provided directory is relative to your domain, type in e.g. ‘’dir’’ or leave empty
  • Type in the database name

The cloned installation will appear on the list of installations after a while.

WM2 56.png
Change Domain
If you want to change the domain of your WordPress installation, simply provide here a new one.
Decide whether to create a backup at the same time and enable/disable SSL for the new domain.
WM2 57.png
Manage Auto Upgrades
Set up the automatic upgrades rules. Here you may enable or disable automatic upgrades:
  • Of the installation
  • Plugins
  • Themes
WM2 58.png
Staging
Create staging instances from an application to test the upgrades or changes before using them in the live environment.
WM2 59.png
Please be patient, as the whole process may take a few minutes. The staging instance will appear on the list of your installations after the first cron synchronization.

Push the staging installation to the live environment once you are sure it works fine and changes suit your needs.

WM2 60.png
In case you need to customize the installation before pushing it live simply toggle the 'Customize' option.
Then define the specification and confirm to finish.
WM2 60 1.png
SSL
Turn on or off SSL for the installation. Remember that enabling SSL will result in changes being made in your WordPress database configuration, it is advised to back up your installation.

Along with enabling SSL, a free Let's Encrypt SSL will be installed on DirectAdmin products (note that this feature is not available for 'cPanel').
Toggle the 'Create Backup' option and then confirm the actions.

WM2 61.png
Debug Mode
Check whether the debug mode is currently enabled or disabled. Change the mode by pressing the 'Change' button.
WM2 61 2.png
Maintenance Mode
Check the current status of the website, turn off/on maintenance mode according to your needs by pressing the 'Change' button.
WM2 61 1.png
Instance Image
Turn on instance image on the WordPress installation. Simply, toggle the 'Mark As Image' option and then fill in the below options.

Note: The 'FTP Password' input is encoded in the database, which makes it completely safe and secure.

WM2 63.png

Dashboard Widget

WordPress Manager For WHMCS comes with a built-in widget displayed in the client area home page.

This allows the client to see their installations at a glance.

WM2 63 1.png
The widget visibility can be configured in the admin area.

Navigate to 'Addons' → ' WordPress Manager' 'Other' 'Settings' and find the 'Widget Size' option.

  • Disabled - Disable the widget altogether.
  • Small - Make the widget small (like on the screen above).
  • Full Size - Make the widget as wide as possible.
WM2 63 2.png

Reseller Accounts

Existing Reseller's Accounts with the number of WordPress installations. Keep in mind that this section is visible only when such accounts exist in the client's cPanel or DirectAdmin panels.
In case no such accounts have been detected, this section is hidden.

Note: Plesk resellers accounts are not yet currently supported.
Make sure to disable Softaculus' 'Multisite (WPMU)' feature in the panel if you intend to use the reseller's accounts, as the two functions may conflict during instance import.

The table includes the name of the product, reseller's account name on which the instances are installed as well as their number.

WM2 64.png
Press the edit icon to view the list of existing installations. Among other allowed actions there are:
  • Add New Installation
  • Import From Remote Server
  • Use Instance Image
WM2 65.png
The only difference is the need to select a customer when adding a new installation.
If there is no username available here to choose, the reseller must create an extra account in the cPanel or DirectAdmin panels.

All the remaining options are the same as in the case of standard WordPress installations described in the above sections.

WM2 66.png
Using mass actions you may also update multiple WordPress instances to the newest version at once or delete them.
WM2 66 1.png

WP Toolkit Integration

As an alternative to the Softaculous auto-installer, you have the option to benefit from the WP Toolkit integration available for cPanel/WHM or Plesk.

Please note that if you are using the free version of WP Toolkit, certain features may not be accessible or fully functional within the WordPress Manager module.
For a detailed comparison of features not supported by Softaculous and the WP Toolkit API, please refer to the table below.

Important!

By default, all three APIs support all features enumerated on the product features list, available at the top of this documentation.
Yet some options are limited to Softaculous or WP Toolkit API, or are only partially supported by any of them.
If you do not see a feature you are interested in here it means that all three available APIs support it.

List of troublesome features with API compatibility status:
Feature Name Softaculous WP Toolkit for Plesk WP Toolkit for cPanel/WHM
1. Clone an instance ✔️ ✔️
2. Delete an instance ✔️ ✔️
3. Download backups ✔️ ✔️
4. Push staging to live environment ✔️
5. Create staging ✔️
6. Use instance image ✔️
7. Access setup section
(Installation Details → Actions → Setup)
✔️ ✔️
Depending on your API selection, be sure to customize the Client Area Features in your product configuration.
This ensures that your clients have access only to the supported functionalities while disabling any unsupported ones.

Use Cases

In this section, you will find real-life examples of using the module. We'll show you how the module's features can be put to work in different situations.

See the scenarios below to see how the module can be used in practice.

Automatic WordPress Installation

Products in WordPress Manager For WHMCS can be set up to install new WordPress instances after service creation automatically.
There are two basic methods for that purpose:
  • 'Based On Installation Script' and
  • 'Based On Instance Image'

Navigate to 'Addons' 'WordPress Manager' 'Product Settings' → your product 'Details' page.

For script-based installation: in the 'Auto Install WordPress After Service Creation' field, select the 'Based On Installation Script' option and pick a script from the dropdown field below.
Note: The scripts are fetched from your WordPress panel script list and can be edited there.

WM2 70 7.png
For image-based installation: in the 'Auto Install WordPress After Service Creation' field, select the 'Based On Instance Image' option and pick an image from the dropdown field below.

Note: If you do not have any instance image created yet, you can learn how to do that in the Instance Images section.

WM2 70 8.png
Once the client orders the configured product, WordPress will be automatically installed according to the selected method.

Furthermore, you may include custom fields that will allow users to set their own WordPress username, password, and site title.

wp_username|Username or wp_user_id| User ID
wp_password|Password or wp_user_password|Password
wp_site_title|Site Title

See tips (point 5) for more information on custom fields.

WM2 70 10.png
If the custom fields are left empty, the credentials will be generated automatically for the client.
WM2 70 9.png

Instance Import During Order

While ordering products with WordPress Manager For WHMCS clients can migrate their WordPress installations seamlessly.
To take advantage of this option you need to include import-related custom fields in the order form of your product.

Navigate to 'System Settings' 'Products/Services', edit your product, move to the 'Custom Fields' tab, and include the following custom fields.

  • wp_url|WordPress Import URL
  • wp_user_id|WordPress Import Username
  • wp_user_password|WordPress Import Password

You can change the display name of the field after the '|' sign.
Remember to check the 'Show on Order Form' option for each custom field.
Note: Use the 'Text Box' file type, even for the URL. The module's in-build validation already covers the WHMCS 'Link/URL' field type validation and more.

WM2 70 11.png
Clients will be able to fill those fields during the order with their WordPress credentials, enabling the module to migrate their WordPress after the order is accepted (during the cron job run).

Additionally, you may combine import-related custom fields with other custom fields found in point 5 of the Tips section.

WM2 70 12.png

Migrating Existing Instances Via FTP

WordPress instances located on other servers can easily be migrated to your server through FTP.
All it takes is a few simple steps.

First, open the WordPress Manager in the client area and select 'Import From Remote Server'.

WM2 67 1.png
Select the FTP Based Import Type and provide the information necessary for the import:
  • Domain - the domain of the source WordPress installation.
  • Server Host - FTP connection host.
  • Protocol - the protocol that will be used during the connection.
  • Server Port - number of the port used for the FTP connection.
  • FTP User - username used for the FTP connection.
  • FTP Password - user password used for the FTP connection.
  • FTP Path - path to the directory relative to the home directory of a user for installations.
  • Installed Path - directory under the domain where your script is installed, leave empty if installed in the root directory.
WM2 67 2.png
Move to the 'Destination' tab and fill in the desired details of the migrated instance:
  • Product/Service - the hosting to be used for the migrating instance.
  • Protocol - the protocol to be used for the instance.
  • Domain - destination domain to which the instance will be migrated.
  • Directory - directory under the domain where the script will be ported to, the root directory will be used if left empty.
  • Database - database name for the script.
  • Site Title - title of the website visible in WordPress.

Click on 'Import' to start the process. The instance should be migrated after the cron run.

WM2 67 3.png

Migrating Existing Instances Using WordPress Credentials

WordPress instances from third-party servers can also be migrated with just the WordPress account credentials.
See the steps described below to see how easy it is.

Start by opening the WordPress Manager in the client area and select 'Import From Remote Server'.

WM2 67 1.png
Select the Username/Password Based Import Type and provide your WordPress credentials:
  • WordPress Login URL - primary address of your existing WordPress installation.
  • Username - the username used to log in to your WordPress administrative dashboard.
  • Password - the password used to log in to your WordPress administrative dashboard.
WM2 68 2.png
Next, open the 'Destination' tab and provide details regarding your desired installation after migration:
  • Product/Service - the hosting to be used for the migrating instance.
  • Protocol - the protocol to be used for the instance.
  • Domain - destination domain to which the instance will be migrated.
  • Directory - directory under the domain where the script will be ported to, the root directory will be used if left empty.
  • Database - database name for the script.
  • Site Title - title of the website visible in WordPress.

Click on 'Import' to start the process. The instance should be migrated after the cron run.

WM2 68 3.png

Employing Instance Images

WordPress Manager For WHMCS allows you to prepare ready-made WordPress instance images for your clients to use during or after an order.

First, prepare instance images as described in the Instance Images section. Clients can also prepare their own instance images in the client area under 'Actions' 'Instance Image'.
Remember to include the images in the product settings for the desired product.

WM2 69 1.png
After the instance images are prepared, clients with active services will be able to set up their WordPress installation from the included images in their client area.

They can do that by clicking on the 'Use Instance Image' button.

WM2 69 2.png
A new window will be displayed, fill in the necessary fields and click on 'Create' to set up the instance.
  • Product/Service - the hosting to be used for the instance.
  • Instance Image - the instance image to be used as the template for the instance.
  • Protocol - the protocol to be used for the instance.
  • Domain - destination domain to which the instance will be migrated.
  • Directory - directory under the domain where the script will be set to, the root directory will be used if left empty.
  • Database - database name for the script.
  • WordPress Username - a new username that will be created for a fresh WordPress setup.
  • WordPress Password - a password for the administrative account that will be created, you can use the function button to generate a random password.
  • Site Title - title of the website visible in WordPress.

Click on 'Create' to start the process. The instance should be created after the cron run.

WM2 69 3.png
The option to set up an instance from an image can also be selected from the order form if set beforehand.

Three conditions need to be met for the instance images to be used during the order.
1. In the module addon, the given product settings need to include at least one item in the 'Instance Images' field.
2. The 'Auto Install WordPress After Service Creation' field has to be set to 'Based on Instance Image'.
3. In WHMCS → Product/Service configuration → Custom Fields: the 'wp_instance_image_id' custom field has to be present.
The select options should include the IDs of the instance images that can be found in the 'Instance Images' tab of the addon.

WM2 69 4.png
If all conditions are met, clients will be able to order instances to be set up from a range of images.
WM2 69 5.png

Introducing Custom Software

With WordPress Manager For WHMCS you can introduce your clients to custom plugins and themes.
This can be handy if you do not want to make your software public on the Marketplace, but still need to distribute it to your clients in a seamless way.

We will install a custom plugin in the example, but the process also looks the same for custom themes.
Once you have your software ready, open the module addon, and navigate to 'Plugins' 'Custom Plugins' (or 'Themes' 'Custom Themes' ) to begin.

WM2 70 1.png
Prepare a name and description of the module for your clients, include the URL to the plugin, and designate its version.
WM2 70 2.png
Make sure your custom plugin is enabled.
WM2 70 3.png
Next, move to 'Product Settings' and edit the product that you want to include the plugin for.

Under the 'General' tab find the 'Custom Plugins' (or 'Custom Themes' ) field and select your plugin.
Be sure to save the change.

WM2 70 4.png
From now on, your clients will be able to find the custom plugin you have included in their client area.

All they have to do to install it is to click on the '+' icon.

WM2 70 5.png
The plugin should be visible on the 'Installed' list and can be activated or deactivated any time.
WM2 70 6.png

Tips

1. In case you wish to remove one of your plugins from WHM, make sure you delete the additional content too:
/usr/local/cpanel/Cpanel/API/Wordpress.pm
/usr/local/cpanel/share/WordPressManager/wp
2. If you wish to change the names of your WordPress installation scripts to be more friendly in the client area, you can do this in a language file.
Simply open your default 'english.php ' file located in '/yourWHMCS/modules/addons/WordpressManager/langs' directory and add a new language record in the following format:
$_LANG['WordPress Script Name']="WordPress Friendly Name";
3. When using the WordPress Manager module with cPanel, you will also need to whitelist 'phar' support in your php.ini on the WHM server.
You can do this by adding or editing the below record:
suhosin.executor.include.whitelist = phar
4. It is possible to set language for WordPress auto-installation. In the Product Custom Fields section you should complete:
  • Field Name - wpmanager_language|Language
  • Field Type - choose 'Drop Down'
  • Select Options -decide which languages should be available to choose from the dropdown menu.
    If your language is not on the following list (but is supported by WordPress) then use the same formula by providing the two-letter country code as shown below:
en|English,ar|Arabic,zh_CN|Chinese,fr_FR|French,de_DE|German,el|Greek,it_IT|Italian,ja|Japanese,ko_KR|Korean,pl_PL|Polish,ru_RU|Russian,
sl_SI|Slovenian,sk_SK|Slovak,es_ES|Spanish,tr_TR|Turkish,uk|Ukrainian,vi|Vietnamese 
  • Do not forget to mark the 'Show on Order Form' option.
5. Custom Fields used in the instance creation process:

You can set a username and password for the administrator panel in WordPress and the Site Title of the installation using the following product custom fields.
Remember that this method works only when the 'Auto Install WordPress After Service Creation' option is set to 'Based on Installation Script'. List of supported custom fields:

  • wp_installation_type|Installation Type

For WordPress Quick Installation:

  • wp_username|Username or wp_user_id| User ID
  • wp_password|Password or wp_user_password|Password
  • wp_site_title|Site Title


For WordPress Installation Based On Instance Image:

  • wp_instance_image_id|Instance Image ID
  • wp_username|Username or wp_user_id| User ID
  • wp_password|Password or wp_user_password|Password


For WordPress Installation Based On Username/Password:

  • wp_url|URL
  • wp_username|Username or wp_user_id| User ID
  • wp_password|Password or wp_user_password|Password


If a client completes the username and password, then the account will be created on the basis of the provided data.
If left empty, then 'admin' will be set as 'Username' , and a new password will be automatically generated.
Do not forget to mark the 'Show on Order Form' option.

Language Overrides

Incorporating language customizations - the module readily accommodates language overrides, allowing you to tailor the language files to your preferences.
The language file english.php remains unencoded and can be modified to suit your needs. However, it's recommended to avoid altering the core file itself, and instead, leverage the capability of using overrides.

Here's how to apply language overrides:

  • Navigate to the ~/langs/ directory located within the following yourWHMCS/modules/servers/moduleName/langs/ path.
  • Within this directory, create a new file or duplicate the language file you intend to modify. For instance, if you wish to create an override for the English language, establish the following directory structure:
 ~/langs/overrides/english.php.
  • Open the newly created override file to edit its contents.
  • At the beginning of the file, indicate the used code, for instance, you can use: <?php for PHP code.
  • Adapt the file content according to your requirements. You can either selectively modify specific variables or opt to revise the entire content of the language file.

For example:

Original yourWHMCS/modules/servers/moduleName/langs/english.php:

 $_LANG['Search'] = 'Search';

Override yourWHMCS/modules/servers/moduleName/langs/overrides/english.php:

 $_LANG['Search'] = 'Look for';

By following these steps, you can seamlessly implement language customizations without altering the core language file, ensuring your changes will not be lost after every module update.

Remember that some of the modules have more than one language file, located under /addons and /servers paths. You may create the override files for both of them.
Note that you do not need to paste all the original content of the lang file into the override file. Enter there only the lines that you wish to change, every other line will be fetched from the original module lang file.
Consequently, the override lang file might include only one or just a few lines.

Test Installation (up to version 1.7.1)

If you are still using WordPress Manager For WHMCS up to version 1.7.1, a test installation is required.
Follow the instructions below to prepare a test installation.


To fully take advantage of what the module offers, it is necessary to set up the 'Test Installation' first before you start completing the rest of module configuration.
In order to make the module start using WordPress API requests, it is required to have at least one WordPress instance installed.
Otherwise, the features like searching 'Plugins' or 'Themes' in the admin area will not work. Thanks to the 'Test Installation' option, the module will use the WordPress instance as a gateway to WordPress API to make such requests possible.
If you already have such WordPress instances in your system, you can skip this step and go back to the Product Settings section where you can choose the existing instance from your system.
If you do not have any instance you need to either install it on your own directly from the 'Softaculous' auto-installer (and then choose it from Product Settings) or you need to install it by using the module itself as presented below.

Note: The below steps should be possible if you have already made the basic Product Settings configuration.

So, to start, proceed to the 'WordPress Management' section of the product in the Client Area on any of your test accounts. Next, click on the 'New Installation' button.

WM2 8 1.png
There are two sections to complete. Firstly, provide the details of your installation.
Remember to enter your domain properly.
WM2 8 2.png
Now, go to the 'Other' section of your installation and fill in the details. You may also decide which options should be enabled for your installation.
Remember to click 'Create' and wait until the 'New Installation' is ready.
WM2 8 3.png
Finally, you can come back to 'WordPress Manager'. Go to 'Product Settings' and click on the 'Edit' icon next to the preferred product.
You will find the 'Test Installation' option here.
As presented below, start typing your domain name that was provided in the previous step of creating 'New Installation' .
Choose your 'Test Installation' and save changes.
WM2 8 4.png

Update Instructions

An essential guidance through the process of updating the module is offered here.

Important: If you are performing an update from a previous version of WordPress Manager with cPanel, you have to also update the files and run again the installation script on your WHM server.
Simply go here and repeat the following instructions.
If you are updating WordPress Manager For WHMCS, it is highly recommended to perform an update of the plugins that are used.

Updating the Module to Version 3.x

Before updating to module version 3.x, ensure that there are no pending tasks in the queue to avoid migration issues.

Follow the steps to ensure a smooth transition to version 3.x of the module:

  • Complete all tasks currently in the queue before initiating the update. This step is crucial to prevent the loss of unexecuted tasks.
  • Please note that after the update, the queue database tables will be reset. Any tasks that were not executed may be lost, leading to an incomplete update.

Upgrade Guide

Seeking a solution that offers greater flexibility, customization tailored to your precise needs, and unrestricted availability?
There is an option that not only proves to be cost-effective in the long run but also includes prioritized support services, making it a truly valuable investment.

Opt for the Open Source version of your WordPress Manager For WHMCS module to unlock these benefits.
Simply click on either the Get Source Code or Upgrade To Lifetime button found on the product's page in our client area to complete the one-step upgrade process, with a dedicated discount already applied.

Follow a comprehensive guide covering the transition process, the advantages it brings, and step-by-step instructions on what to do next after the order has been successfully finalized.

Common Problems

1. When you have problems with connection, check whether your SELinux or firewall does not block ports.
2. If you do not see the config records, make sure that you have also updated the WHM files to the latest version.
3. Installation of Let's Encrypt SSL is available only for DirectAdmin products.
4. Native integration with cPanel Extended module works seamlessly except for one aspect, specifically access via 'Manage Account → WordPress Manager', where an issue is encountered.
You may smoothly enter the WordPress Manager via: 'Actions → WordPress Management'.
5. The module supports two APIs: Softaculus and WP Toolkit.

If you are changing the API from WP Toolkit to Softaculous, when there are already existing installations, you must remember to synchronize the instances.
Otherwise, errors will occur when trying to manage the instance from the WHMCS client area.

Solution: Proceed to cPanel → Softaculous and press the "Scan" button.

WM 66 2.png
When changing the API from Softaculous to WP Toolkit, trigger the scanning in cPanel → WP Toolkit:
WM 66 3.png
After the scan is successfully complete, wait until the data is synchronized in the module by running the following cron command:
 php -q /yourWHMCS/modules/addons/WordpressManager/cron/cron.php Synchronize   

That is all, the installations can now be managed via target API.

6. If you experience issues with the proper functionality of a Plesk-based module, one potential cause might be difficulties in retrieving the accurate external WHMCS IP address.

To eliminate this as a factor, we recommend configuring the variable ipServerWhmcs with a specific IP address in the configuration file located at: app/config/configuration.yml.
The assigned IP address will overwrite the WHMCS-provided IP address:

 ipServerWhmcs: '123.456.78.910'  


Navigation
WHMCS Modules
WHMCS Widgets
Translations
cPanel Modules
General
FAQ
Community
WordPress Manager For WHMCS