Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php WordPress媒体上传程序在小部件保存后失败_Php_Wordpress - Fatal编程技术网

Php WordPress媒体上传程序在小部件保存后失败

Php WordPress媒体上传程序在小部件保存后失败,php,wordpress,Php,Wordpress,所以基本上,在我保存小部件的那一刻,就不可能再打开媒体上传程序了。返回的错误是 Uncaught TypeError: Cannot read property 'value' of null 如果选择了一个导致load-scripts.php的图像,并且没有错误,并且在保存后没有选择图像时,媒体上载程序仍然不会显示 tl;dr callback在小部件保存后停止响应 我使用的JS代码是: jQuery(document).ready(function($){ var custom_uplo

所以基本上,在我保存小部件的那一刻,就不可能再打开媒体上传程序了。返回的错误是

Uncaught TypeError: Cannot read property 'value' of null 
如果选择了一个导致load-scripts.php的图像,并且没有错误,并且在保存后没有选择图像时,媒体上载程序仍然不会显示

tl;dr callback在小部件保存后停止响应

我使用的JS代码是:

jQuery(document).ready(function($){
var custom_uploader;


$('.custom_media_upload').click(function(e) {

    e.preventDefault();

    //If the uploader object has already been created, reopen the dialog
    if (custom_uploader) {
        custom_uploader.open();
        return;
    }

    //Extend the wp.media object
    custom_uploader = wp.media.frames.file_frame = wp.media({
        title: 'Choose Image',
        button: {
            text: 'Choose Image'
        },
        multiple: false
    });

    //When a file is selected, grab the URL and set it as the text field's value
    custom_uploader.on('select', function() {
        attachment = custom_uploader.state().get('selection').first().toJSON();
        $('.custom_media_url').val(attachment.url);
    });

    //Open the uploader dialog
    custom_uploader.open();

    return true;
});


});
小部件PHP代码是

<img class="custom_media_image" src="<?php if ($instance['image'] != '') echo esc_attr( $image ); ?>" style="max-width:100px; float:left; margin: 0px     10px 0px 0px; display:inline-block;" />
<input class="custom_media_url" id="" type="text" name="<?php echo $this->get_field_name( 'image' ); ?>" value="<?php echo esc_attr( $image ); ?>" style="margin-bottom:10px; clear:right;">
<a href="#" class="button custom_media_upload">Upload</a>
有什么问题吗


编辑:看来回调被清除了。当我通过控制台附加相同的回调时,它似乎又开始工作了。

我仍然不知道为什么jQuery的钩子会在小部件保存时被清除。我通过向锚添加onclick标记并更改函数的签名解决了这个问题。

这发生在哪一行?如果你在Chrome的控制台中点击它,它应该会把你带到源代码窗口中…这不是问题所在。假设没有javascript错误。