Custom Login Logo
Custom Login Logo replaces the default WordPress mark on the sign-in screen with your brand - either a Media Library upload or your Site Icon - so the first thing people see is you, not WordPress.org.
What it does
Section titled “What it does”When enabled and a logo is configured, it:
- Swaps the login-page logo for your image (CSS background for Site Icon; an injected `` for Media Library uploads).
- Lets you pick the source - Media Library or Site Icon from Settings -> General.
- Controls display size - width 50-500px, height 30-200px, plus a size mode when using Site Icon.
- Accepts same-site URLs only for uploaded logos (home, site, content, and uploads URLs) for security.
- Defers to Login Page Customizer (Pro) when that module has an active logo configuration, so the two don’t fight.
It does not change where the logo links - pair it with Custom Login Logo Link for that.
When to use it
Section titled “When to use it”Enable it if:
- You want a branded
wp-login.phpwithout a full login-page redesign. - Agencies or multi-site setups need a consistent client logo on sign-in.
- You already have a Site Icon and want to reuse it on the login screen.
When not to use it
Section titled “When not to use it”Settings
Section titled “Settings”Open the module’s Settings (gear icon) under WP PowerSuite -> Modules -> Custom Login Logo:
| Setting | Purpose | Default |
|---|---|---|
Logo Source (logo_source) |
Media Library or Site Icon. |
Media Library |
Logo URL (logo_url) |
Image URL when source is Media Library. Use Upload Logo to pick from the library. Same-site URLs only. | Blank |
Logo Width (logo_width) |
Max display width in pixels (50-500). | 200 |
Logo Height (logo_height) |
Max display height in pixels (30-200). | 80 |
Size Mode (logo_size_mode) |
When using Site Icon: Contain (preserve aspect ratio) or Fixed (exact dimensions). |
Contain |
How to enable it
Section titled “How to enable it”- In WordPress admin, go to WP PowerSuite -> Modules.
- Filter by Login & Users or search for “Custom Login Logo”.
- Turn the module’s toggle on.
- Open Settings, choose a logo source, set size, and save.
To undo it, toggle the module off - the default WordPress logo returns.
How to test it
Section titled “How to test it”- Open your login page (
wp-login.php, or your custom login URL if you use Change Login URL). ✅ Working: your logo appears above the login form instead of the WordPress mark. - ❌ Not working: the default WordPress logo is still there.
Try both sources if needed - Site Icon vs Media Library - and confirm width/height look right on desktop.
Troubleshooting
Section titled “Troubleshooting”- Logo doesn’t appear. Confirm the module is on and a logo is set. For Media Library, the URL must be on your site (uploads/content). Empty or off-site URLs are ignored.
- Site Icon source shows nothing. Set a Site Icon under Settings -> General first.
- Login Page Customizer seems to win. Expected when that Pro module has active logo settings - configure the logo there, or turn those settings off.
- Logo looks stretched or cropped. Adjust width/height; for Site Icon, try Contain instead of Fixed.
Can I use my Site Icon as the login logo?
Yes. Set Logo Source to Site Icon and the module uses the icon from Settings -> General. You can also upload a dedicated image from the Media Library.
Why isn't my custom login logo showing?
Confirm the module is on and a logo is set. Media Library URLs must be on your own site. If Login Page Customizer (Pro) has an active logo, it takes priority and this module defers.
Does Custom Login Logo change where the logo links?
No. This module only replaces the image. Use Custom Login Logo Link (or Login Page Customizer) to change the click URL.
What image sizes work best?
Width is capped at 50-500px and height at 30-200px. A transparent PNG or SVG-style logo around 200×80 usually looks clean on the default login form.
Developer notes (hooks & filters)
Source: modules/custom-login-logo/module.php. Boots on the critical tier. Context: login, frontend.
- Registers on
login_initandwpps_before_custom_login_render(priority0), then attacheslogin_enqueue_scriptsandlogin_footeronce per request when a resolvable logo URL exists and Login Page Customizer is not taking over. - Media Library: clears the default background image and injects an `` into the login header link.
- Site Icon: sets
background-imagevia inline CSS; size mode maps tocontainor fixedwidth/height. - URL allowlist:
home_url,site_url,content_url, and uploadsbaseurlonly. - Deferral: if
login-page-customizoris enabled and has active logo-related settings (hide logo, site icon, external/upload URL, alignment, widths, or margins), this module skips its hooks.