我在主题定制器中有一个图像上载字段:
/* Background Image */
$wp_customize->add_setting(
\'tcx_background_image\',
array(
\'default\' => \'\',
\'transport\' => \'postMessage\',
\'sanitize_callback\' => \'is_image\',
)
);
和清理回调函数:
function is_image( $input ) {
if(getimagesize($input)){
return esc_url_raw($input);
}else{
return \'\';
}
}
此部件工作正常:
我单击选择图像按钮,然后在媒体库中选择我的图像,然后单击选择图像,最后单击保存(&b);发布并正确输出我的图像(到目前为止没有任何错误)
这是可怕的警报问题(单击Customizer中的X按钮时发生):
现在我想删除我的图像,所以我单击删除按钮,现在没有图像,然后单击保存(&b);发布按钮。
当我单击Customizer中的X(退出)按钮时,会出现问题,因为它会触发一个警告框“如果离开此页面,您所做的更改将丢失。是否确实要离开此页面?”。
我已启用define(\'WP_DEBUG\', true);
如果将其设置为false,警报将消失,如果我将\'sanitize_callback\' => \'esc_url_raw\',
警报也会消失只有在使用自定义函数时才会出现is_image();
那么,在使用自定义函数时,如何删除该警报框
这是用于自定义预览的js文件,如果有帮助的话。。。THX!!
wp.customize( \'tcx_background_image\', function( value ) {
value.bind( function( to ) {
0 === $.trim( to ).length ?
$( \'body\' ).css( \'background-image\', \'\' ) :
$( \'body\' ).css( \'background-image\', \'url( \' + to + \')\' );
});
});