Skip to main content

Customizing the management dashboard of a SaaS platform

Overview

KurocoEdge can be implemented on SaaS platforms if a custom domain is available. KurocoEdge enables customization of areas typically not editable in services where the management interface operates on a custom domain.

In this tutorial, we will demonstrate how to customize the WordPress admin panel using KurocoEdge.

What You Will Learn

This tutorial covers the following methods:

Prerequisites

info

Due to Cross-Site Request Forgery (CSRF) issues, the login function will not work if the KurocoEdge domain and the WordPress URL do not match.
Before setting specific rules, ensure that the KurocoEdge domain matches the WordPress admin panel domain.

Installing KurocoEdge

Adding a Backend URL

Add the domain of your WordPress site to the KurocoEdge admin panel.
Click [KurocoEdge] -> [Backend list] in the side menu.

Image from Gyazo

Click the [Add] button in the upper right corner of the Backend list page.
Image from Gyazo

The backend host editor page will be displayed. Configure the settings as follows:

FieldSettings
Backend addressEnter the IP address of the server where WordPress is installed
Backend port443
Override hostEnter the domain of the WordPress admin panel
Enable TLS connectionEnable
Enable TLS certificate checkEnable
First byte timeout15 seconds

Image from Gyazo

After the configuration is complete, click [Add] to add the backend host.

Creating a Deployment

Prepare a deployment to customize the WordPress admin panel.

Clone any deployment from the deployment list page and configure the settings as follows:

FieldSettings
Default BackendSelect the IP address of the server where WordPress is installed
RulesEmpty

Image from Gyazo

After the configuration is complete, click [Activate] to activate the deployment.

Setting the KurocoEdge domain

Click [Environment settings] -> [Custom domain/TLS certificate].

Image from Gyazo

Enter the domain of the WordPress admin panel and click [Add].

Image from Gyazo

tip

No trailing slashes, directories, etc. are required for the step above.

danger

Once added, the custom domain cannot be changed. If you have entered it incorrectly, please contact our support.

Setting up DNS records

When you enter your KurocoEdge domain, the DNS settings will be displayed. Configure the CNAME settings as shown under "Domain ownership verification" and "DNS records for the Domain".

Image from Gyazo

caution

The configured domain will not be accessible until the steps in changing the KurocoEdge domain are completed.

Wait for the DNS settings to take effect. Once you confirm that 'Domain ownership verification' is 'OK', proceed to the next step.

Changing the KurocoEdge domain

Next, change the KurocoEdge domain from the account settings.
Click [Environment Settings] -> [Account Settings].
Image from Gyazo

Check the custom domain set in KurocoEdge domain, select "Change to..." and click "Update".

Image from Gyazo

That's it for setting up KurocoEdge.
You are now ready to customize the WordPress admin panel.

Customizing the WordPress admin panel

Here are some rules for customizing the WordPress admin panel.
An active deployment cannot be modified. The deployment must be cloned first, then update the rules and use preview mode to verify the changes.

Changing the login page logo image

Change the logo image on the login page.
Image from Gyazo

Uploading the image to KurocoEdge

Click [File Manager] from the side menu.

Image from Gyazo

Upload the image to be used to replace the logo image.
Image from Gyazo

Right-click on the image, select [File Path] from the menu, and copy the displayed hostname and URL path as we will need it later. Image from Gyazo

Creating a Rule

Create a rule as follows on the rule editor page.

URL path pattern to apply

To limit the rule to the login page of the admin panel, enter /wp-login.php.
Image from Gyazo

Click on the [Response] tab and configure as follows.

Execution

FieldSettings
Field settingsHTML editor
GeneralCSS Selector: .login h1 a
Tag AttributeAction: Set
Attribute Name: style
Value: background-image:url(hostname+URL path copied from the file manager earlier)

Image from Gyazo

Image from Gyazo

Image from Gyazo

After the configuration is complete, click [Update] to save the settings.

Checking the display

Click the [Preview] button in the upper right corner of the rule editor page to verify the changes. Here, you can confirm that the logo image has changed.

Image from Gyazo

Changing the destination when the logo is clicked

By default, the link destination of the login page logo is https://wordpress.org/ if the site language is English, and https://ja.wordpress.org/ if it is Japanese. In this tutorial, we will change it to https://kuroco.app/ as an example.

Image from Gyazo

Creating a rule

Create a rule as follows on the rule addition page.

URL path pattern to apply

To limit the rule to the login page of the admin panel, enter /wp-login.php.

Image from Gyazo

Click on the [Response] tab and configure as follows.

Execution

FieldSettings
Field settingsHTML editor
GeneralCSS selector: .login h1 a
Tag attributeAction: Set
Attribute name: href
Value: https://kuroco.app/

Image from Gyazo

Image from Gyazo

Image from Gyazo

After the configuration is complete, click [Update] to save the settings.

Checking the display

Click the [Preview] button in the upper right corner of the rule editior page to verify the changes. Here, you can confirm that the link destination of the logo has been changed.

Image from Gyazo

Hiding unnecessary header menus

In this tutorial, we will hide the comment icon and counter in the header menu.

Image from Gyazo

Creating a rule

Click on the [Response] tab on the rule addition page and create a rule as follows.

Execution

FieldSettings
Field settingsHTML editor
GeneralCSS selector: #wp-admin-bar-comments
Action: Hide

Image from Gyazo

Image from Gyazo

After the configuration is complete, click [Update] to save the settings.

Checking the display

Click the [Preview] button in the upper right corner of the rule editior page to verify the changes. Here, you can confirm that the comment icon and number are hidden.

Image from Gyazo

Changing the label of the side menu

Change the label of the side menu. In this tutorial, we will change "Posts" to "Articles" as an example.

Image from Gyazo

Creating a rule

Click on the [Response] tab on the rule addition page and create a rule as follows.

Execution

FieldSettings
Field settingsText replace
FromPosts
ToArticles

Image from Gyazo

After the configuration is complete, click [Update] to save the settings.

Confirming the display

Click the [Preview] button in the upper right corner of the rule editing page to confirm the display, and you can see that the label has been changed. Image from Gyazo

Add a new link to the side menu. In this tutorial, we will add a menu called "Post Categories" between "Posts" and "Media".
Image from Gyazo

Check and copy the HTML structure

Right-click on the WordPress admin panel and click [View Page Source] from the menu that appears.
Image from Gyazo

Press "Ctrl+F" on Windows or "cmd+F" on Mac to display the search box, and search for "menu-posts" to check the HTML of the "Posts" section of the side menu. Copy everything from <li class="wp-has-submenu wp-not-current-submenu menu-top menu-icon-post open-if-no-js menu-top-first" id="menu-posts"> to </li>.

Image from Gyazo

Creating a rule

Click on the [Response] tab of the rule addition screen and create a rule as follows:

Execution

FieldSettings
Field settingsHTML editor
GeneralCSS Selector: #menu-posts
HTML InjectionInject location: Insert After
HTML: Enter the following code by editing the copied code earlier.
<li class="wp-has-submenu wp-not-current-submenu menu-top menu-icon-post open-if-no-js menu-top-first" id="menu-posts-category">
<a href='edit-tags.php?taxonomy=category' class="wp-has-submenu wp-not-current-submenu menu-top menu-icon-post open-if-no-js menu-top-first" aria-haspopup="true">
<div class="wp-menu-arrow">
<div></div>
</div>
<div class='wp-menu-image dashicons-before dashicons-admin-post' aria-hidden='true'><br />
</div>
<div class='wp-menu-name'>Post Categories</div>
</a>
</li>

Image from Gyazo

Image from Gyazo

Image from Gyazo

After the configuration is complete, click [Update] to save the settings.

Confirming the display

Click the [Preview] button in the upper right corner of the rule editior page to verify the changes. Here, you can see that the link has been added.
Image from Gyazo

Changing the order of the side menu

Change the order of the side menu. In this tutorial, we will swap the order of "Posts" and "Media".

Image from Gyazo

Check and copy the HTML structure

Right-click on the WordPress admin panel and click [View Page Source] from the menu that appears.

Image from Gyazo

Press "Ctrl+F" on Windows or "cmd+F" on Mac to display the search box, and search for "menu-posts" to check the HTML of the "Posts" section of the side menu. Copy the menu element of "Posts".

Image from Gyazo

Creating Rules

Click on the [Response] tab of the Add Rule screen and create the following rules.

Execution

Create two items.

Image from Gyazo

Field #1

FieldSettings
Field settingsHTML editor
GeneralCSS Selector: #menu-posts
Delete/Hide: Delete

Image from Gyazo

Field #2

FieldSettings
Field settingsHTML editor
GeneralCSS Selector: #menu-media
HTML InsertionInsertion Position: Insert after the element
HTML: Enter the following code by editing the code copied earlier.
<li class="wp-has-submenu wp-not-current-submenu menu-top menu-icon-post open-if-no-js menu-top-first" id="menu-posts">
<a href='edit.php' class="wp-has-submenu wp-not-current-submenu menu-top menu-icon-post open-if-no-js menu-top-first" aria-haspopup="true">
<div class="wp-menu-arrow">
<div></div>
</div>
<div class='wp-menu-image dashicons-before dashicons-admin-post' aria-hidden='true'><br /></div>
<div class='wp-menu-name'>Posts</div>
</a>
<ul class='wp-submenu wp-submenu-wrap'>
<li class='wp-submenu-head' aria-hidden='true'>Posts</li>
<li class="wp-first-item">
<a href='edit.php' class="wp-first-item">All Posts</a>
</li>
<li>
<a href='post-new.php'>Add New</a>
</li>
<li>
<a href='edit-tags.php?taxonomy=category'>Categories</a>
</li>
<li>
<a href='edit-tags.php?taxonomy=post_tag'>Tags</a>
</li>
</ul>
</li>

Image from Gyazo

Image from Gyazo

After the configuration is complete, click on [Update] to save the settings.

Check the display

Click the [Preview] button in the upper right corner of the rule editior page to verify the changes. Here, you can confirm that the order has been changed.

Image from Gyazo

Removing unnecessary blocks from the dashboard

In this tutorial, we will remove the "At a Glance" block as an example.
Image from Gyazo

Creating Rules

Click on the [Response] tab of the rule editor page and create the following rule.

Execution

FieldSettings
Field settingsHTML editor
GeneralCSS Selector: #dashboard_right_now
Delete/Hide: Delete

Image from Gyazo

Image from Gyazo

Check the display

Click the [Preview] button in the upper right corner of the rule editior page to verify the changes. Here, you can confirm that the block has been removed.
Image from Gyazo

Hiding the Parent Category field

Hide the "Parent Category" field displayed on the new/edit category page of the post.
Image from Gyazo

Creating Rules

Create the following rules on the rule editor page.

URL path pattern to apply

To apply the rule to the category editor page in the admin panel, enter ^/wp-admin/edit-tags.php.
Image from Gyazo

Click on the [Response] tab and configure as follows.

Execution

FieldSettings
Field settingsHTML editor
GeneralCSS Selector: #addtag > div.form-field.term-parent-wrap
Remove/Hide: Hide

Image from Gyazo

Image from Gyazo

Confirm the Display

Click the [Preview] button in the upper right corner of the rule editior page to verify the changes. Here, you can see that the "Parent Category" field is hidden.
Image from Gyazo


Support

If you have any other questions, please contact us or check out Our Discord Community.