Rebrand the ThemePlus options panel with your own theme or agency identity.
Overview
ThemePlus is designed to disappear into your theme. Every visible reference to “ThemePlus” in the admin panel — the menu label, page title, admin bar link, and menu icon — can be replaced with your own theme’s name and branding using themeplus_framework_config(). Your end users will see your theme’s own settings panel and never know ThemePlus is powering it.
White-label configuration is part of the standard themeplus_framework_config() call — there is no separate branding API.
Complete White-Label Example
add_action( 'after_setup_theme', function () {
if ( ! function_exists( 'themeplus_framework_config' ) ) {
return;
}
$theme = wp_get_theme();
themeplus_framework_config([
// Identity — generates menu/page title automatically if not set explicitly
'display_name' => $theme->get( 'Name' ),
'display_version' => $theme->get( 'Version' ),
// Database — must be unique per theme
'opt_name' => 'nijhum_options',
// Admin menu — fully renamed to your theme
'menu_slug' => 'nijhum-settings',
'menu_title' => __( 'Nijhum Settings', 'nijhum' ),
'page_title' => __( 'Nijhum Theme Options', 'nijhum' ),
'menu_icon' => 'dashicons-admin-appearance',
'menu_position' => 61,
'capability' => 'edit_theme_options',
// Features
'admin_bar' => true,
'show_search' => true,
// i18n
'text_domain' => 'nijhum',
]);
} );What Gets Rebranded
When configured, the following elements reflect your theme’s identity:
| Element | What changes |
|---|---|
| Admin sidebar menu label | Shows your menu_title |
| Admin page browser tab | Shows your page_title |
| Admin menu icon | Shows your menu_icon (Dashicon or custom SVG) |
| Admin bar link | Shows your display_name — visible when admin_bar: true |
| Menu position | Placed at your menu_position in the sidebar |
| Database key | Options stored under your opt_name |
The underlying framework, field behavior, REST API, and all PHP functions remain unchanged — only the visible identity is replaced.
Using a Custom SVG Icon
The menu_icon key accepts a base64-encoded SVG data URI — the same format WordPress core uses for custom menu icons:
$svg = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="black" d="..."/></svg>';
themeplus_framework_config([
'menu_icon' => 'data:image/svg+xml;base64,' . base64_encode( $svg ),
// ...
]);Use
fill="black"in your SVG — WordPress automatically recolors it to match the admin color scheme. A transparent or white fill will not be recolored correctly.
Auto-generated Titles
If you provide display_name but omit menu_title and page_title, ThemePlus generates them automatically:
Both strings are translatable via the themeplus text domain. If you need full control over the wording — or need them in your own text domain — pass them explicitly as shown in the complete example above.
i18n Convention
ThemePlus translates its own internal fallback strings using the themeplus domain. Every string you pass into themeplus_framework_config() — including menu_title, page_title, and any field title strings — should be wrapped in __() with your theme’s own text domain. The plugin never translates your theme’s config strings.
// Correct — your theme translates its own strings
'menu_title' => __( 'Nijhum Settings', 'nijhum' ),
// Wrong — ThemePlus domain should not be used for your theme's strings
'menu_title' => __( 'Nijhum Settings', 'themeplus' ),Capability and Access
The capability key controls who can access the panel and all ThemePlus REST API endpoints — they always use the same configured value:
// Administrators only (WordPress default for options)
'capability' => 'manage_options',
// Administrators + users with Theme Editor role
'capability' => 'edit_theme_options',Default is manage_options. Change to edit_theme_options if your theme is designed to be managed by non-admin users.
ThemeForest and Commercial Themes
For ThemeForest themes, the recommended approach is: