在何处定义了Java脚本属性窗口._wpCustomHeaderSetting?

时间:2019-08-12 作者:user153991

我试图修改wp-includes/js/wp-custom头中定义的Javascript函数的行为。js,更改最小窗口高度以显示视频标题。为此,我需要修改属性window._wpCustomHeaderSettings.minHeight在我的脚本运行时,window._wpCustomHeaderSettings 尚未定义,因此我使用window._wpCustomHeaderSettings = window._wpCustomHeaderSettings || {}, 然后设置属性minHeight 设置为值0。

但是,加载页面后,如果使用浏览器控制台显示此属性,我会看到它的默认值为500。

因此,我试图了解这个值的定义,以了解我做错了什么,但我做不到,尽管我grep通过Wordpress源代码。

1 个回复
最合适的回答,由SO网友:Sally CJ 整理而成

它的定义是通过wp_localize_script() 这是the_custom_header_markup():

wp_localize_script( \'wp-custom-header\', \'_wpCustomHeaderSettings\', get_header_video_settings() );
因此,如果您想使用JavaScript覆盖值/设置,那么可以挂接到wp_print_footer_scripts 然后添加脚本,如下所示:

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 );
但变量名以_ 它通常表示一个私有变量,该变量永远不应该被“触碰”(用于读取其值除外),因此我建议您使用header_video_settings 改为筛选以覆盖默认值minHeight (或任何设置的)值:

add_filter( \'header_video_settings\', function( $settings ){
    $settings[\'minHeight\'] = 0;
    return $settings;
} );

相关推荐

带有高级自定义域的JavaScript选项卡库

我在我的网站上使用高级自定义字段,我想以一种体面、优雅的方式显示我的图库字段的图片。所以我在考虑做这样的事情:https://www.w3schools.com/howto/howto_js_tab_img_gallery.asp我的主要问题是,我不知道如何将php变量放到javascript代码中。你能帮忙吗?w3schools示例中的相同css和相同脚本,这是我的代码:<?php $images = get_field(\'extra_photos\');