I am currently trying to enhance my theme development skills and still have a lot to learn in php.
I'm investigating the code of Underscores
and Twenty Seventeen
themes.
I simply do not understand why the following code works and what it does to hide Site Title
and Tagline
, if the Display Site Title and Tagline
checkbox in Customizer is unchecked.
In custom-header.php
, after setting up the custom header with a default text color of #000000
, themes set up a function for header style:
function underscores_header_style() {
$header_text_color = get_header_textcolor();
/*
* If no custom options for text are set, let's bail.
* get_header_textcolor() options: Any hex value, 'blank' to hide text. Default: add_theme_support( 'custom-header' ).
*/
if ( get_theme_support( 'custom-header', 'default-text-color' ) === $header_text_color ) {
return;
}
// If we get this far, we have custom styles. Let's do this.
?>
<style type="text/css">
If I now set the color of Header Text to #000000
in Customizer, in my opinion, the first if
clause should become true, the return;
should end the function and the whole following styling part for hiding and beyond shouldn't be working.
So far I've checked with var_dump()
for get_header_textcolor()
and get_theme_support('custom-header', 'default-text-color')
. Both the values are 000000
.
In contrast to my above considerations: Everything works correctly.
I don't want to just "copy – paste" this issue in my theme, I want to understand it. Where is my thinking error?
$wp_customize->remove_control('header_textcolor');
to remove the color control that's added by default.