WordPress 4.5 is here with a new API for a Custom Logo.
Just by adding an add_theme_support like this: add_theme_support('custom-logo');
Remember it’s best called in the
after_setup_theme
hook.
So now you’ll have a logo selector in your themes customiser. You can then use the following to detect the logo, echo the logo or return the logo as a string:
has_custom_logo()
the_custom_logo()
get_custom_logo()
Great I hear you say. But what if you want to use the image as a background? get_custom_logo()
returns the full <img /> tag.
After a bit of digging I found the image ID is stored as a modification for the theme, and retrieve it with this:
$custom_logo_id = get_theme_mod( 'custom_logo' );
Once you have the ID you can get the url and other info as normal with wp_get_attachment_image_src.
$logo_meta = wp_get_attachment_image_src($custom_logo_id,'full');
You can wrap this all up in a nice little function.
function get_custom_logo_src() {
if (has_custom_logo()) {
$custom_logo_id = get_theme_mod( 'custom_logo' );
$logo_meta = wp_get_attachment_image_src($custom_logo_id,'full');
return $logo_meta[0];
} else {
return false;
}
}
Hope this helps!
Tanks a bunch, just what I was looking for 🙂