Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 已启用第i个编辑器。你知道有没有关于wp.media的文档吗?我在网上找了很多东西,找不到任何完整的东西,我求助于阅读定义这个object.Hi的基本js文件。我不知道你是否还在wordpress框架下使用wp.media。不幸的是,没有一个完整的文档可以_Javascript_Wordpress - Fatal编程技术网

Javascript 已启用第i个编辑器。你知道有没有关于wp.media的文档吗?我在网上找了很多东西,找不到任何完整的东西,我求助于阅读定义这个object.Hi的基本js文件。我不知道你是否还在wordpress框架下使用wp.media。不幸的是,没有一个完整的文档可以

Javascript 已启用第i个编辑器。你知道有没有关于wp.media的文档吗?我在网上找了很多东西,找不到任何完整的东西,我求助于阅读定义这个object.Hi的基本js文件。我不知道你是否还在wordpress框架下使用wp.media。不幸的是,没有一个完整的文档可以,javascript,wordpress,Javascript,Wordpress,已启用第i个编辑器。你知道有没有关于wp.media的文档吗?我在网上找了很多东西,找不到任何完整的东西,我求助于阅读定义这个object.Hi的基本js文件。我不知道你是否还在wordpress框架下使用wp.media。不幸的是,没有一个完整的文档可以让高级开发人员正确地使用它。我刚刚发现了这个插件,它指出了wp.media对象的主要特性。但我仍在寻找一份非常完整的文档,以了解wp.media的每个组件。我喜欢这个函数。。4号。。但是我如何将它插入到输入作者:userSettings.uid


已启用第i个编辑器。你知道有没有关于wp.media的文档吗?我在网上找了很多东西,找不到任何完整的东西,我求助于阅读定义这个object.Hi的基本js文件。我不知道你是否还在wordpress框架下使用wp.media。不幸的是,没有一个完整的文档可以让高级开发人员正确地使用它。我刚刚发现了这个插件,它指出了wp.media对象的主要特性。但我仍在寻找一份非常完整的文档,以了解wp.media的每个组件。我喜欢这个函数。。4号。。但是我如何将它插入到输入
作者:userSettings.uid
这似乎不仅仅是特定的用户。它向所有用户显示媒体。我在这个问题上工作了好几天,直到看到您的解决方案。这并不是我所需要的,但您的一行代码解决了我的问题:wp.media.model.settings.post.id加1!
jQuery("#my_button").click(function() {
    tb_show("", "media-upload.php?type=image&TB_iframe=true");
    return false;
});
window.send_to_editor = function(html) {
    console.log(html);
    tb_remove();
}
function clearField(){
    #remove file nodes
    #...
}

var frame = wp.media({frame: 'post'});

frame.on('close',function() {
    var selection = frame.state().get('selection');
    if(!selection.length){
        clearField();
    }
});

frame.on( 'select',function() {
    var state = frame.state();
    var selection = state.get('selection');
    if ( ! selection ) return;

    clearField();

    selection.each(function(attachment) {
        console.log(attachment.attributes);
    });
});

frame.open();
/**
 * Please attach all the code below to a button click event
 **/

//create a new Library, base on defaults
//you can put your attributes in
var insertImage = wp.media.controller.Library.extend({
    defaults :  _.defaults({
            id:        'insert-image',
            title:      'Insert Image Url',
            allowLocalEdits: true,
            displaySettings: true,
            displayUserSettings: true,
            multiple : true,
            type : 'image'//audio, video, application/pdf, ... etc
      }, wp.media.controller.Library.prototype.defaults )
});

//Setup media frame
var frame = wp.media({
    button : { text : 'Select' },
    state : 'insert-image',
    states : [
        new insertImage()
    ]
});

//on close, if there is no select files, remove all the files already selected in your main frame
frame.on('close',function() {
    var selection = frame.state('insert-image').get('selection');
    if(!selection.length){
        #remove file nodes
        #such as: jq("#my_file_group_field").children('div.image_group_row').remove();
        #...
    }
});


frame.on( 'select',function() {
    var state = frame.state('insert-image');
    var selection = state.get('selection');
    var imageArray = [];

    if ( ! selection ) return;

    #remove file nodes
    #such as: jq("#my_file_group_field").children('div.image_group_row').remove();
    #...

    //to get right side attachment UI info, such as: size and alignments
    //org code from /wp-includes/js/media-editor.js, arround `line 603 -- send: { ... attachment: function( props, attachment ) { ... `
    selection.each(function(attachment) {
        var display = state.display( attachment ).toJSON();
        var obj_attachment = attachment.toJSON()
        var caption = obj_attachment.caption, options, html;

        // If captions are disabled, clear the caption.
        if ( ! wp.media.view.settings.captions )
            delete obj_attachment.caption;

        display = wp.media.string.props( display, obj_attachment );

        options = {
            id:        obj_attachment.id,
            post_content: obj_attachment.description,
            post_excerpt: caption
        };

        if ( display.linkUrl )
            options.url = display.linkUrl;

        if ( 'image' === obj_attachment.type ) {
            html = wp.media.string.image( display );
            _.each({
            align: 'align',
            size:  'image-size',
            alt:   'image_alt'
            }, function( option, prop ) {
            if ( display[ prop ] )
                options[ option ] = display[ prop ];
            });
        } else if ( 'video' === obj_attachment.type ) {
            html = wp.media.string.video( display, obj_attachment );
        } else if ( 'audio' === obj_attachment.type ) {
            html = wp.media.string.audio( display, obj_attachment );
        } else {
            html = wp.media.string.link( display );
            options.post_title = display.title;
        }

        //attach info to attachment.attributes object
        attachment.attributes['nonce'] = wp.media.view.settings.nonce.sendToEditor;
        attachment.attributes['attachment'] = options;
        attachment.attributes['html'] = html;
        attachment.attributes['post_id'] = wp.media.view.settings.post.id;

        //do what ever you like to use it
        console.log(attachment.attributes);
        console.log(attachment.attributes['attachment']);
        console.log(attachment.attributes['html']);
    });
});

//reset selection in popup, when open the popup
frame.on('open',function() {
    var selection = frame.state('insert-image').get('selection');

    //remove all the selection first
    selection.each(function(image) {
        var attachment = wp.media.attachment( image.attributes.id );
        attachment.fetch();
        selection.remove( attachment ? [ attachment ] : [] );
    });

    //add back current selection, in here let us assume you attach all the [id] to <div id="my_file_group_field">...<input type="hidden" id="file_1" .../>...<input type="hidden" id="file_2" .../>
    jq("#my_file_group_field").find('input[type="hidden"]').each(function(){
         var input_id = jq(this);
        if( input_id.val() ){
            attachment = wp.media.attachment( input_id.val() );
            attachment.fetch();
            selection.add( attachment ? [ attachment ] : [] );
        }
    });
});

//now open the popup
frame.open();
var custom_uploader;
jQuery('#fileform').on('click','.select-files', function(e) {
    var button = jQuery(this);
    custom_uploader = wp.media.frames.file_frame = wp.media({
        title: 'Choose File',
        library: {
            author: userSettings.uid // specific user-posted attachment
        },
        button: {
            text: 'Choose File'
        },
        multiple: false
    });

    //When a file is selected, grab the URL and set it as the text field's value
    custom_uploader.on('select', function() {
        attachment = custom_uploader.state().get('selection').first().toJSON();
        console.log(attachment.url);
        console.log(attachment.id); // use them the way you want
    });

    //Open the uploader dialog
    // Set post id
    wp.media.model.settings.post.id = jQuery('#post_ID').val();
    custom_uploader.open();
});
                if ( 'image' === obj_attachment.type ) {
                html = wp.media.string.image( display );
                _.each({
                align: 'align',
                size:  'image-size',
                alt:   'image_alt'
                }, function( option, prop ) {
                if ( display[ prop ] )
                    options[ option ] = display[ prop ];
                });
                html = wp.media.string.image( display, obj_attachment );
            }