admin管理员组文章数量:1416051
I'm trying to modify the behaviour of the Javascript function defined in wp-includes/js/wp-custom-header.js, to change the minimum windows height to display a video header.
For this, I need to modify the attribute window._wpCustomHeaderSettings.minHeight
At the time that my script runs, window._wpCustomHeaderSettings
is not defined yet, so I create it with a window._wpCustomHeaderSettings = window._wpCustomHeaderSettings || {}
, then set the attribute minHeight
to a value of 0.
However, after the page is loaded, if I use the browser console to display this attribute, I see that it has the default value of 500.
So I tried to see where this value was defined to understand what I was doing wrong, but I couldn't, despite all my grep
s through Wordpress source code.
I'm trying to modify the behaviour of the Javascript function defined in wp-includes/js/wp-custom-header.js, to change the minimum windows height to display a video header.
For this, I need to modify the attribute window._wpCustomHeaderSettings.minHeight
At the time that my script runs, window._wpCustomHeaderSettings
is not defined yet, so I create it with a window._wpCustomHeaderSettings = window._wpCustomHeaderSettings || {}
, then set the attribute minHeight
to a value of 0.
However, after the page is loaded, if I use the browser console to display this attribute, I see that it has the default value of 500.
So I tried to see where this value was defined to understand what I was doing wrong, but I couldn't, despite all my grep
s through Wordpress source code.
1 Answer
Reset to default 0It's defined via wp_localize_script()
that's called by the_custom_header_markup()
:
wp_localize_script( 'wp-custom-header', '_wpCustomHeaderSettings', get_header_video_settings() );
So if you want to override the values/settings using JavaScript, then you can hook to wp_print_footer_scripts
and add your script like so:
add_action( 'wp_print_footer_scripts', function(){
if ( wp_script_is( 'wp-custom-header' ) ) :
?>
<script>
if ( window._wpCustomHeaderSettings ) {
_wpCustomHeaderSettings.minHeight = 0;
}
</script>
<?php
endif;
}, 11 );
But the variable name starts with _
which normally indicates a private variable that should never be "touched" (other than for reading its values), so I suggest you to use the header_video_settings
filter instead to override the default minHeight
(or any setting's) value:
add_filter( 'header_video_settings', function( $settings ){
$settings['minHeight'] = 0;
return $settings;
} );
本文标签: custom headerWhere is the Javascript attribute windowwpCustomHeaderSettings defined
版权声明:本文标题:custom header - Where is the Javascript attribute window._wpCustomHeaderSettings defined? 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1745246935a2649596.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论