定制器在4.9中阻塞了我的主题,我应该在哪里寻找?

时间:2017-11-16 作者:rg89

我将我的开发环境升级到了4.9,定制程序被我的基于下划线的主题阻塞了。定制器在2616年工作正常,所以我认为我的主题有问题。

告诉我们,定制者的Save&;UI中完全缺少“发布”按钮。还有一些奇怪的事情发生了,比如在单击颜色选择器之前,“颜色”面板下的“我的设置”标签不可见。

Firefox开发控制台说

TypeError: a.elements[0] is undefined [Learn More] load-scripts.php:6:12121
当我单击[了解更多信息]时,它会显示

<anonymous>
http://localhost/test-site/wp-admin/load-scripts.php:6:12121
i
http://localhost/test-site/wp-admin/load-scripts.php:2:27444
fireWith
http://localhost/test-site/wp-admin/load-scripts.php:2:28213
when/<
http://localhost/test-site/wp-admin/load-scripts.php:2:4062
i
http://localhost/test-site/wp-admin/load-scripts.php:2:27444
add
http://localhost/test-site/wp-admin/load-scripts.php:2:27748
when
http://localhost/test-site/wp-admin/load-scripts.php:2:3810
instance
http://localhost/test-site/wp-admin/load-scripts.php:2:2847
f
http://localhost/test-site/wp-admin/load-scripts.php:2:526
<anonymous>
http://localhost/test-site/wp-admin/load-scripts.php:6:12068
i
http://localhost/test-site/wp-admin/load-scripts.php:2:27444
fireWith
http://localhost/test-site/wp-admin/load-scripts.php:2:28213
ready
http://localhost/test-site/wp-admin/load-scripts.php:2:30004
K
http://localhost/test-site/wp-admin/load-scripts.php:2:30366
前端似乎工作正常。对于4.9所交付的定制器中的更改,是否有针对主题开发人员的指导?我不知道我应该找什么。

更新时间:

我在我的SiteGround帐户上测试了这个主题,以确保问题与我的本地计算机或服务器实例无关。只有在我将SiteGround上的一个live站点更新到4.9之后,它才存在相同的问题,所以我相信这肯定是我的主题与最新版本的WP之间的问题。

2 个回复
最合适的回答,由SO网友:rg89 整理而成

我在我的主题中找到了一行代码,它打破了4.9中的定制程序。看到

$wp_customize->remove_setting( \'header_textcolor\' );

SO网友:Weston Ruter

如果我尝试删除header_textcolor 背景因此,我不认为这是4.9中引入的新内容。可以在中找到导致问题的代码function 用于初始化display_header_text 控制:

    // Juggle the two controls that use header_textcolor
    api.control( \'display_header_text\', function( control ) {
        var last = \'\';

        control.elements[0].unsync( api( \'header_textcolor\' ) );
确实,应该对该代码进行一些硬化,以检查header_textcolor 在运行之前进行设置,但同时您只需删除display_header_text 除移除header_textcolor 背景像这样:

add_action( \'customize_register\', function( WP_Customize_Manager $wp_customize ) {
    $wp_customize->remove_setting( \'header_textcolor\' );
    $wp_customize->remove_control( \'display_header_text\' );
}, 20 );

结束

相关推荐