WordPress 3.5媒体管理器-重新排序媒体库选项卡上的选择框项目

时间:2013-05-07 作者:dave

新媒体库很棒,但效率有点低。加载页面时,它会将所有媒体项作为默认视图。这会导致页面加载大量图像。我希望它默认为“上传到此帖子”。

我尝试过其他解决方案,例如更改默认选择Change the default-view of Media Library in 3.5?

但这是通过JS完成的,当页面上有很多图像时,它首先开始加载“所有媒体项目”选项卡,然后将选项卡切换到“上载到此帖子”,因此我认为更好的方法是重新排序选择框,以便“上载到此帖子”是第一个默认选项。

我不知道该怎么做。或者,如果可能的话,使用过滤器。希望得到专家的反馈。谢谢

1 个回复
SO网友:dave

我可以通过一个很棒的插件编辑器的帮助来回答这个问题。

此解决方案不会对选择框重新排序,而是强制其在默认情况下仅加载“上载到此帖子”介质。我使用了来自this post 获取要更改的选择框。

我得到了一位伟大的Sewpafly的帮助Post Thumbnail Editor 插件。他分享了一段很棒的JS,可以防止All Media Items 并强制其仅加载图像Uploaded to this Post 默认情况下。

admin.js

jQuery(function($) {
    var called = 0;
    $(\'#wpcontent\').ajaxStop(function() {
        if ( 0 == called ) {
            $(\'[value="uploaded"]\').attr( \'selected\', true ).parent().trigger(\'change\');
            called = 1;
        }
    });
  var oldPost = wp.media.view.MediaFrame.Post;
    wp.media.view.MediaFrame.Post = oldPost.extend({
        initialize: function() {
            oldPost.prototype.initialize.apply( this, arguments );
            this.states.get(\'insert\').get(\'library\').props.set(\'uploadedTo\', wp.media.view.settings.post.id);
        }
    });
});

functions.php

add_action(\'admin_enqueue_scripts\', \'add_admin_js\');
function add_admin_js(){
  wp_enqueue_script(\'admin_js\', get_bloginfo( \'template_directory\' ) . \'/javascripts/admin.js\'); 
}
作为Gist

我将其放入一个JS文件中,并在函数中调用它。php与admin_enqueue_scripts.

工作出色。希望优秀的wordpress人员能在即将到来的更新中解决这个问题,但现在Sewpafly 有我找到的最好的解决方案。再次感谢老兄。希望这能帮助其他优秀的人。

结束

相关推荐