为什么 WordPress Thickbox 没有真正显示我的主题上传选项

发布于 2024-12-18 07:40:46 字数 1395 浏览 3 评论 0原文

我已经被这个问题困扰了8个多小时。我为我的 WordPress 主题创建了一个选项面板,并为上传徽标选项添加了一个上传按钮。我正在使用 WordPress 厚盒。除了厚盒上传从不只显示正在显示的厚盒覆盖之外,一切都已完成。我检查了源文件,.js 文件和样式表文件已正确注册入队。为什么厚盒不显示?请帮我!

这是我的脚本,用于通过输入按钮调用厚盒

var fileInput = '';

    jQuery('.upload_image_button').click(function() {
        fileInput = jQuery(this).parent().prev('input.uploadfield');
        //console.log(fileInput);
        formfield = jQuery('#upload_image').attr('name');
        post_id = jQuery('#post_ID').val();
        tb_show('', 'media-upload.php?post_id='+post_id+'&type=image&TB_iframe=true&width=640&height=105');
        return false;
    });



    window.original_send_to_editor = window.send_to_editor;
    window.send_to_editor = function(html){

        if (fileInput) {
            fileurl = jQuery('img',html).attr('src');

            fileInput.val(fileurl);

            tb_remove();

        } else {
            window.original_send_to_editor(html);
        }
    };

,这是我用于上传的输入按钮代码

<input id="" class="uploadfield" type="text" value="" name="" size="50" maxlength="2048">
                                            <div class="upload_buttons">
                                                <input class="upload_image_button" type="button" value="Upload">
                                            </div>

I've stuck with this problem for more than 8 hours. I created an option panel for my wordpress theme and add an upload button for the upload logo option. I'm using wordpress thickbox. Everything almost done except the thickbox upload never showing only the thickbox overlay that is showing. I checked the source file and the .js file and stylesheet file was registered an enqueue correctly. Why the thickbox not showing? please help me!

here is my script use to call the thickbox via an input button

var fileInput = '';

    jQuery('.upload_image_button').click(function() {
        fileInput = jQuery(this).parent().prev('input.uploadfield');
        //console.log(fileInput);
        formfield = jQuery('#upload_image').attr('name');
        post_id = jQuery('#post_ID').val();
        tb_show('', 'media-upload.php?post_id='+post_id+'&type=image&TB_iframe=true&width=640&height=105');
        return false;
    });



    window.original_send_to_editor = window.send_to_editor;
    window.send_to_editor = function(html){

        if (fileInput) {
            fileurl = jQuery('img',html).attr('src');

            fileInput.val(fileurl);

            tb_remove();

        } else {
            window.original_send_to_editor(html);
        }
    };

and here is my input button code for upload

<input id="" class="uploadfield" type="text" value="" name="" size="50" maxlength="2048">
                                            <div class="upload_buttons">
                                                <input class="upload_image_button" type="button" value="Upload">
                                            </div>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

手长情犹 2024-12-25 07:40:46

我发现了真正的问题,因为我在 jquery 文件中使用 jQuery() 而不是 $ 我的代码与 jquery 中内置的 wordpress 发生冲突。所以我必须注册具有相同名称“jquery”的新jquery,而不取消注册jquery中的wordpress构建。

更改符号后,我可以在 jquery 中使用 wordpress 构建,而无需注册新的 jquery,并且thickbox 可以正常工作。希望这可以帮助遇到同样问题的人。谢谢

I found the real problem, since I'm using jQuery() in my jquery files instead of $ my code having a conflict with the wordpress built in jquery. so I have to register new jquery with the same name 'jquery' without deregister the wordpress build in jquery.

After I change the sign then I can use the wordpress build in jquery wihout registering new jquery and the thickbox work normally. hope this can help somebody with the same problem. thanks

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文