> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mainwp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# White Label

> With this White Label Extension, you can rebrand MainWP Child, visually hide the plugin, customize selected WordPress admin elements, and provide on-site support for your clients.

## What You'll Learn

* White labeling the MainWP Child plugin
* Hiding the plugin from clients
* Managing available white label controls
* Adding branded support forms
* Resetting white label settings

***

<div id="addon-data" style={{display: 'none'}} data-title="White Label" data-purchase-url="https://mainwp.com/add-on/white-label/" data-pricing-tier="pro" data-bundle="MainWP Pro" data-addon-type="extension" data-version="5.0.3" data-developer="MainWP" data-changelog-url="https://mainwp.com/changelog/mainwp-white-label-extension/" data-owned-by="Jestart LLC" data-privacy-url="https://mainwp.com/mainwp-plugin-privacy-policy/" />

<Info>
  **Extension Add-on** - This add-on provides standalone functionality within MainWP Dashboard. No third-party plugins required.
</Info>

<iframe className="w-full aspect-video rounded-xl" src="https://www.youtube.com/embed/kWvEVIpPEss" title="White Label - Video Tutorial" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen />

The [MainWP White Label Extension](https://mainwp.com/add-on/white-label/) lets you rebrand the MainWP Child plugin on client sites. You can replace the plugin name and author information with your own branding, hide the plugin entirely from the plugins list, restrict client access to certain WordPress features, and add a branded support contact form.

<Warning>
  This extension white labels the MainWP Child plugin only. The MainWP Dashboard plugin cannot be white labeled.
</Warning>

<Info>
  White Label no longer includes child-site plugin and update hiding controls (for example, hiding Plugins/update pages or disabling update checks) due to WordPress.org compliance requirements. See [Removed hiding options](/add-ons/agency/white-label-plugin-update-hiding-removal).
</Info>

## Features Overview

| Feature           | Description                                                                     |
| ----------------- | ------------------------------------------------------------------------------- |
| White Label       | Replace plugin name, description, author, and URIs with your own branding       |
| Hide Plugin       | Make the MainWP Child plugin invisible in the client's plugins list             |
| Remove & Disable  | Restrict access to selected WordPress and MainWP Child admin areas              |
| WordPress Options | Customize login images, favicons, dashboard widgets, footer text, and admin CSS |
| Support Form      | Add a branded contact form to child site admin areas                            |

## White Label the MainWP Child Plugin

Rebrand how the MainWP Child plugin appears in the WordPress plugins list. The same **White Label** tab and **MainWP Child White Label Settings** section also includes the option to visually hide the plugin, so you can configure the branding fields, the hide option, or both at the same time.

<Tabs>
  <Tab title="All Sites (Global)">
    <Steps>
      <Step title="Navigate to White Label settings">
        Go to **MainWP > Add-ons > White Label** and select the **White Label** tab.
      </Step>

      <Step title="Configure the MainWP Child white label settings">
        <img src="https://mintcdn.com/mainwp/RPovfYRqnTPYvuIf/images/add-ons/white-label-plugin-settings.jpg?fit=max&auto=format&n=RPovfYRqnTPYvuIf&q=85&s=f0e5c5be8d791b6cd783ec3c708fd295" alt="White Label Settings" width="1715" height="724" data-path="images/add-ons/white-label-plugin-settings.jpg" />

        | Field                                 | Description                                     |
        | ------------------------------------- | ----------------------------------------------- |
        | Visually hide the MainWP Child plugin | Hide the plugin from the WordPress plugins list |
        | Plugin name                           | Your custom plugin name                         |
        | Plugin description                    | Your custom description                         |
        | Plugin URI                            | Link to your website or plugin page             |
        | Plugin author                         | Your name or company name                       |
        | Author URI                            | Link to your author page                        |
      </Step>

      <Step title="Save Settings">
        Click **Save Settings** to apply changes to all child sites.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Single Site">
    <Steps>
      <Step title="Open the child site settings">
        Go to **MainWP > Sites > Manage Sites**, find the site, and click **Settings**.
      </Step>

      <Step title="Enable per-site overrides">
        Go to the **White Label** tab, locate **General Settings**, and enable **Override general settings**.
      </Step>

      <Step title="Configure the MainWP Child white label settings">
        In the **MainWP Child White Label Settings** section, enable **Visually hide the MainWP Child plugin** if needed and enter your custom **Plugin name**, **Plugin description**, **Plugin URI**, **Plugin author**, and **Author URI**.
      </Step>

      <Step title="Save Settings">
        Click **Save Settings** to apply.
      </Step>
    </Steps>
  </Tab>
</Tabs>

**Example result:** If you set **Plugin name** to "Demo Name" and **Plugin author** to "Demo Author", the plugins list will display:

<img src="https://mintcdn.com/mainwp/RPovfYRqnTPYvuIf/images/add-ons/white-label-branding-result.png?fit=max&auto=format&n=RPovfYRqnTPYvuIf&q=85&s=4b2d9586f6aa4510138014d2deab0fa1" alt="Branding Result" width="773" height="71" data-path="images/add-ons/white-label-branding-result.png" />

<Note>
  Leave fields empty (except **Plugin name**) to hide that information rather than display the original. Hiding the plugin does not disable the other branding fields, so if you use reporting or other areas that still surface the child plugin details, set the branding fields as well so those views use your custom plugin information instead of the default MainWP Child details. To remove white labeling entirely, delete the **Plugin name** and save.
</Note>

## Remove & Disable Functions

Restrict client access to WordPress features and MainWP Child settings.

<Tabs>
  <Tab title="All Sites (Global)">
    Go to **MainWP > Add-ons > White Label** and select the **Remove & Disable Options** tab.

    <img src="https://mintcdn.com/mainwp/kpvFc27TX3UyCf0Y/images/add-ons/white-label-remove-disable-options-tab.png?fit=max&auto=format&n=kpvFc27TX3UyCf0Y&q=85&s=1bddccf81f336ffdc776824cd3d262ad" alt="Remove and disable white label options" width="3344" height="1302" data-path="images/add-ons/white-label-remove-disable-options-tab.png" />
  </Tab>

  <Tab title="Single Site">
    Go to **MainWP > Sites > Manage Sites**, open the site's **Settings**, navigate to the **White Label** tab, enable **Override general settings**, then locate **Remove & Disable Options**.
  </Tab>
</Tabs>

### Available Options

| Option                                        | Effect                                                          |
| --------------------------------------------- | --------------------------------------------------------------- |
| Prevent theme alterations                     | Locks the current theme and prevents switching to another theme |
| Hide the MainWP Child Settings page           | Removes the MainWP Child Settings page                          |
| Hide the MainWP Child Server Information page | Removes the MainWP Child Server Information page                |
| Hide the MainWP Child Restore (Clone) page    | Removes the MainWP Child Restore (Clone) page                   |
| Hide the WordPress Tools page                 | Removes the **Tools** menu from WP Admin                        |
| Hide the WordPress General settings page      | Removes the **Settings** menu from WP Admin                     |
| Hide the Permalinks settings page             | Removes the **Permalinks** settings page from WP Admin          |

## WordPress Options

Customize WordPress admin areas, login pages, and site-wide elements on child sites.

<Tabs>
  <Tab title="All Sites (Global)">
    Go to **MainWP > Add-ons > White Label** and select the **WordPress Options** tab.

    <img src="https://mintcdn.com/mainwp/RPovfYRqnTPYvuIf/images/add-ons/white-label-wordpress-options.jpg?fit=max&auto=format&n=RPovfYRqnTPYvuIf&q=85&s=7d8efb13a535f99e3380f587ef5e2b0b" alt="White Label - WordPress options" width="1693" height="2326" data-path="images/add-ons/white-label-wordpress-options.jpg" />
  </Tab>

  <Tab title="Single Site">
    Go to **MainWP > Sites > Manage Sites**, open the site's **Settings**, navigate to the **White Label** tab, enable **Override general settings**, then locate **WordPress Options**.
  </Tab>
</Tabs>

### Available Options

| Option                                           | Description                                                     |
| ------------------------------------------------ | --------------------------------------------------------------- |
| Custom login page image                          | Upload a custom image for the WordPress login page              |
| Custom login image URL                           | Set the destination URL for the login image                     |
| Custom login image title                         | Set the login image title text                                  |
| Custom website favicon                           | Upload a custom favicon for the site                            |
| Hide default WordPress dashboard widgets         | Hide selected default dashboard widgets                         |
| Suppress update notifications for WordPress core | Hide WordPress core update notifications                        |
| Hide screen options                              | Hide the **Screen Options** tab                                 |
| Hide help box                                    | Hide the **Help** tab                                           |
| Hide default WordPress post meta boxes           | Remove selected post editor meta boxes                          |
| Hide default WordPress page meta boxes           | Remove selected page editor meta boxes                          |
| Global Footer Content                            | Add content to the front-end footer                             |
| Dashboard Footer Content                         | Replace "Thank you for creating with WordPress" in admin footer |
| Site Generator Options                           | Replace the default generator text and link                     |
| Custom Admin CSS                                 | Add CSS to customize the admin area                             |
| Custom Login CSS                                 | Add CSS to customize the login page                             |
| Text Replace                                     | Find and replace text strings throughout the admin area         |

## Support Form

Add a branded contact form to child site admin areas so clients can reach you directly.

<Tabs>
  <Tab title="All Sites (Global)">
    Go to **MainWP > Add-ons > White Label** and select the **Support Form** tab.

    <img src="https://mintcdn.com/mainwp/RPovfYRqnTPYvuIf/images/add-ons/white-label-support-form.jpg?fit=max&auto=format&n=RPovfYRqnTPYvuIf&q=85&s=6f3502cce96e007d0df37d1be6040fc2" alt="White Label - Support options" width="1696" height="1083" data-path="images/add-ons/white-label-support-form.jpg" />
  </Tab>

  <Tab title="Single Site">
    Go to **MainWP > Sites > Manage Sites**, open the site's **Settings**, navigate to the **White Label** tab, enable **Override general settings**, then locate **Support Form**.
  </Tab>
</Tabs>

### Configuration Options

| Setting                                       | Description                                               |
| --------------------------------------------- | --------------------------------------------------------- |
| Activate the Support feature                  | Enable or disable the support form                        |
| Designated support contact email              | Set the email address that receives support messages      |
| Position of the "Contact Support" button      | Show the button in the Top Admin bar, Admin menu, or both |
| Contact Support button title                  | Set the text displayed on the support button              |
| Support introduction message                  | Set the message shown above the contact form              |
| Submit Button Title                           | Text on the form submit button                            |
| Successful Submission Message                 | Confirmation message after form submission                |
| Message to return sender to page they were on | Set the text for the return link after submission         |

<Note>
  The support form remains disabled if the **Designated support contact email** field is empty.
</Note>

## Reset White Label Options

To reset all white label settings to defaults:

<Steps>
  <Step title="Navigate to White Label">
    Go to **MainWP > Add-ons > White Label**.
  </Step>

  <Step title="Reset settings">
    Scroll to the bottom and click **Reset Settings**.
  </Step>

  <Step title="Confirm and save">
    Click **Yes** in the confirmation popup, then click **Save Settings** to apply the reset to child sites.
  </Step>
</Steps>

## White Label Master Reset

If a child site becomes disconnected and you cannot see the MainWP Child plugin (because it was hidden) or other white label options are stuck, use one of these methods to reset.

### Option 1: Reset Tool (Recommended)

Download and install the [Reset MainWP Child Plugin Settings](https://www.dropbox.com/scl/fi/m5eo3qgzpvuals4wzstci/klbs-reset-mainwp-settings.zip?rlkey=wvum5e72b6w7qcu7z4pl4db0q\&dl=0) plugin on the child site. It resets all MainWP Child settings and deactivates itself automatically.

<Warning>
  Remove the reset tool plugin after use for security reasons.
</Warning>

### Option 2: Manual Code Edit

<Steps>
  <Step title="Access the child site via FTP">
    Connect to your child site server.
  </Step>

  <Step title="Locate the MainWP Child class file">
    Find `site_root/wp-content/plugins/mainwp-child/class/class-mainwp-child.php`
  </Step>

  <Step title="Edit the file">
    Find the `public function __construct( $plugin_file )` function (around line 210). After the line containing `this->update();`, add:

    ```php theme={null}
    delete_option('mainwp_branding_child_hide');
    ```
  </Step>

  <Step title="Upload and overwrite">
    Save and upload the file back to the server, overwriting the original.
  </Step>
</Steps>

### Option 3: Functions.php Filter

Add this code to the active theme's functions.php on the child site:

```php theme={null}
add_filter( 'mainwp_child_branding_init_options', 'mycustom_mainwp_child_branding_init_options');
function mycustom_mainwp_child_branding_init_options( $opts ) {
    if (is_array($opts) && isset($opts['hide'])) {
        $opts['hide'] = '';
    }
    return $opts;
}
```

After reconnecting the site, remove this code so the White Label Extension functions properly again.

## Exclude Specific Users from White Labeling

The `mainwp_child_branding_init_options` filter lets you disable white label settings for specific users on child sites.

### Exclude by User ID

This example excludes user ID 1 from white label settings:

```php theme={null}
add_filter( 'mainwp_child_branding_init_options', 'mycustom_mainwp_child_branding_init_options' );
function mycustom_mainwp_child_branding_init_options( $option ) {
   $current_user_id = get_current_user_id();
   if ( $current_user_id == '1' && is_array( $option ) && isset( $option['cancelled_branding'] ) ) {
       $option['cancelled_branding'] = true;
   }
   return $option;
}
```

### Exclude by Username

This example excludes the user "bogdan" from white label settings:

```php theme={null}
add_filter( 'mainwp_child_branding_init_options', 'mycustom_mainwp_child_branding_init_options' );
function mycustom_mainwp_child_branding_init_options( $option ) {
   $current_user = wp_get_current_user();
   if ( $current_user && $current_user->user_login == 'bogdan' && is_array( $option ) && isset( $option['cancelled_branding'] ) ) {
       $option['cancelled_branding'] = true;
   }
   return $option;
}
```

<Tip>
  Use the [MainWP Code Snippets Extension](https://mainwp.com/extension/code-snippets/) to deploy these filters to all child sites at once.
</Tip>

***

## Related Resources

* [Removed hiding options](/add-ons/agency/white-label-plugin-update-hiding-removal) - Change details and manual code option
* [Team Control Extension](/add-ons/agency/team-control-extension) - Role-based access control
* [Pro Reports Extension](/add-ons/agency/pro-reports-extension-overview) - Branded client reports
* [Agency Add-ons](/add-ons/agency) - Browse agency add-ons
