在我的一个自定义贴子编辑页面上,我有一个按钮,点击后会触发媒体弹出窗口,带有:wp.media.editor.open();
虽然它会提到媒体经理,但我不确定这样做是否正确。是吗?
但真正的问题是关于其他事情。如何将事件侦听器连接到媒体弹出窗口应触发的各种事件?喜欢open
或close
或者切换视图是否有任何事件?
在我的一个自定义贴子编辑页面上,我有一个按钮,点击后会触发媒体弹出窗口,带有:wp.media.editor.open();
虽然它会提到媒体经理,但我不确定这样做是否正确。是吗?
但真正的问题是关于其他事情。如何将事件侦听器连接到媒体弹出窗口应触发的各种事件?喜欢open
或close
或者切换视图是否有任何事件?
可以使用多个事件处理程序。
frame.on(\'open\',function() {
// Do something
});
frame.on(\'close\',function() {
// Do something
});
frame.on(\'select\',function() {
// Do something
});
在哪里frame
是对wp.media()
frame = wp.media();
frame.on(\'select\',function() {
// Do something
});
完整示例脚本en作为依赖项与jQuery和media editor一起排队。
function media_script_enqueue() {
wp_enqueue_script( \'media-script\', get_template_directory_uri() . \'/js/media-script.js\', array( \'jquery\', \'media-editor\' ), \'\', true );
}
add_action( \'wp_enqueue_scripts\', \'media_script_enqueue\' ); // Front-end
add_action( \'admin_enqueue_scripts\', \'media_script_enqueue\' ); // Back-end
脚本包含:;( function( $ ) {
var frame = wp.media({
multiple: true
});
$(".media").on("click", function(e) {
frame.open();
e.preventDefault();
});
frame.on(\'open\', function() {
console.log("Open");
});
frame.on(\'close\', function() {
console.log("Close");
});
frame.on(\'select\', function() {
console.log("Select");
var selection = frame.state().get(\'selection\');
selection.each(function(attachment) {
console.log(attachment.id);
});
});
} )( jQuery );
由类名为的按钮触发的窗口media
<button class="media">Media</button>
媒体javascript依赖项通过函数排队。<?php wp_enqueue_media(array(\'post\' => get_the_ID())); ?>
我最后检查的最佳文档是源代码-请参阅媒体视图。js,媒体模型。js此处:http://phpxref.ftwr.co.uk/wordpress/nav.html?wp-includes/js/
使用控制台进行试验可能会很有帮助-它主要是主干对象,您可以使用类似于我不久前编写的脚本的内容观看触发的事件-http://userscripts.org/scripts/show/161075
我想在主题选项页面中添加媒体上载程序。如果我在选项页面中添加以下代码,媒体上传器在那里工作正常,但它会在标准帖子的特色图片中产生问题。它不允许我从那里选择任何图像。是不是因为我用错误的方式添加了它?if ( ! did_action( \'wp_enqueue_media\' ) ){ wp_enqueue_media(); } 下面是我正在使用的上传功能:$(\'#upload_img\').click(function(){ wp.media.edit