是否挂接到主干以将js添加到wp-admin->媒体库?

时间:2015-09-14 作者:Dorian Tudorache

我已将a排队。“媒体库”页面上的js文件(upload.php)。我只需要使用JS隐藏和操作页面上的一些缩略图(我不想寻找解决方法)。

页面上的元素是由主干呈现的,到目前为止,我还没有找到连接到它的方法。在任何窗口/文档状态下,$(\'li.attachment\')。例如,hide()函数无法完成它的工作,因为这样。

我尝试过使用以下代码,但到目前为止没有结果,甚至无法调试代码,因为挂钩不正确:

window.wp = window.wp || {};

( function( $, _ ) {

var media = wp.media,
    Attachments = media.model.Attachments,
    Query = media.model.Query,
    original = {};

original.AttachmentsBrowser = {
    manipulate: media.view.AttachmentsBrowser.prototype.manipulate
};

_.extend( media.view.AttachmentsBrowser.prototype, {

    initialize: function() {

        original.AttachmentsBrowser.initialize.apply( this, arguments );
    },

    manipulate: function() {
        var options = this.options,
            self = this,
            i = 1;

        original.AttachmentsBrowser.manipulate.apply( this, arguments );

        console.log(\'got here\');  // Not outputting a thing
    }
});    
你知道我该怎么做吗?

提前多谢!

2 个回复
SO网友:dev

您可以为wp admin将javascript文件和css文件排队,如下所示:-

    function load_custom_wp_admin_style() {
        wp_enqueue_script( \'script-name\',\'js/scripts.js\', array(\'jquery\'), \'3.3.5\', true );
}
add_action( \'admin_enqueue_scripts\', \'load_custom_wp_admin_style\' );
首先,您需要将管理脚本排入队列,如下所示:-

 function my_admin_scripts() {
wp_enqueue_script(\'media-upload\');
wp_enqueue_script(\'thickbox\');
}

function my_admin_styles() {
wp_enqueue_style(\'thickbox\');
}
上传附件:-

 $(\'.upload_image_button\').live(\'click\',function() {
         formfield = $(\'#upload_image\').attr(\'name\');
         tb_show(\'\', \'media-upload.php?type=image&TB_iframe=true\');
         return false;
        });

         window.send_to_editor = function(html) {
         imgurl = $(\'img\',html).attr(\'src\');
         tb_remove();
        }
我已经使用了我的代码,你可以修改它。

谢谢

SO网友:Dave van Hoorn

我正在做类似的事情。我一直在选择缩略图(使用jQuery),如下面的代码示例所示。利用jQuery\'s on function 将函数挂钩到交互式元素(如缩略图)。

// Edit
下面的代码将在控制台中输出附件ID。

(function ($) {
    \'use strict\';

    // Wait for window to load
    $(window).load(function () {

        // Run function \'checkImageSelection\' after clicking on .thumbnail
        $(\'.attachments-browser\').on(\'click\', \'.thumbnail\', checkImageSelection);

        // Function for checking the selected image
        function checkImageSelection() {

            // Get image ID
            var imageID = $(this).parents(\'.attachment\').attr(\'data-id\');

            // Console.log image ID
            console.log(imageID);

        }

    });

})(jQuery);

相关推荐

WooCommerce CSV图像URL在Media文件夹中创建其他图像

我通过媒体库拖放上传器上传所有图像,没有问题。每次我将CSV文件用于数千种产品时,我都会输入每个产品的图像url,该url位于媒体库中。示例:/wp content/uploads/2018/08/oa901-essence-1oz。jpg公司因此,产品页面使用添加了-1的图像,而不是原始图像,甚至是原始图像的缩略图。然后,当我下载所有产品时,图像url在图像文件名的末尾添加了-1。我不明白为什么会发生这种情况以及如何解决它。我尝试停用几乎所有的插件,甚至手动上传单个产品,但它仍然做同样的事情。我无法使用