我已将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
}
});
你知道我该怎么做吗?
提前多谢!
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);