我对你的问题没有完整的答案,但这是一个好的开始。要定制新的媒体管理器,您应该在中学习javascript主干代码wp-includes/js/media-views.js
. 例如,这里有一个小插件,它在“从URL插入”工具栏中添加了一个“全选”按钮:
custom.php
:
add_action(\'admin_enqueue_scripts\', \'custom_add_script\');
function custom_add_script(){
wp_enqueue_script(\'custom\', plugins_url(\'custom.js\', __FILE__), array(\'media-views\'), false, true);
}
custom.js
:
var originalToolbar = wp.media.view.Toolbar.Embed;
wp.media.view.Toolbar.Embed = originalToolbar.extend({
// code modified from media-views.js, l 2500
initialize: function() {
this.options.items = _.defaults( this.options.items || {}, {
// keep the original button
select: {
style: \'primary\',
text: wp.media.view.l10n.insertIntoPost,
priority: 80,
click: this.clickSelect,
requires: false
},
// and add a new one
selectAll: {
text: \'Select All\',
style: \'primary\',
priority: 80,
requires: false,
click: this.selectAll
}
});
wp.media.view.Toolbar.Select.prototype.initialize.apply( this, arguments );
},
selectAll: function(){
console.log(\'select All\');
}
});
对于“自定义插入帖子”按钮,我建议改用gallery快捷码。用户界面已经存在,可以选择所需的图像并在tinymce的正确位置插入快捷码。你所要做的就是编写自己的图库短代码格式。
看看gallery_shortcode
中的函数wp-includes/media.php
并使用post_gallery
滤器