Some atypical experience with custom logo)
I had no add_theme_support for this feature in one of my custom themes so it took some time to understand what’s going on. Maybe we should document this somewhere.
And I also realized that we have a small logical issue there. @zulfgani already mentioned that. If we keep this option in Settings -> General we probably shouldn’t rely on current theme settings and avoid this dependency. Otherwise, as we implement this via Customizer settings and theme mods API, we should probably move the “on/off” option to the Customizer, too.
Now it’s a bit messy. When the active theme doesn’t support custom_logo feature, logo field is not shown in Customizer. But the global switcher is still available. And it seems that user should set the logo image via site icon field. (It’s not obvious that another field exists). It sounds stupid, but I’ve done that personally. Twice ![]()
Also. While debugging I referenced to functions.php of native Twenty* themes:
// Add theme support for Custom Logo.
add_theme_support(
'custom-logo',
array(
'width' => 250,
'height' => 250,
'flex-width' => true,
)
);
We can actually use these values, no need to limit size via CSS then. And we can override them via Customizer, too.
And globally we should carefully decide which API is responsible for the login page styling: theme mods or global admin controls, or some separate functionality. And try to keep everything close to this single responsibility.
P.S. Don’t mean to change anything in 1.1.0.