以下代码将选择一个标记为Your Tab Name
首次启动媒体库时。
add_action( \'admin_footer-post-new.php\', \'wpse_default_media_library_tab\' );
add_action( \'admin_footer-post.php\', \'wpse_default_media_library_tab\' );
function wpse_default_media_library_tab() {
?>
<script type="text/javascript">
var my_tab_has_been_activated = 0;
(function($) {
$(document).ready( function() {
// http://wordpress-hackers.1065353.n5.nabble.com/JavaScript-events-on-media-popup-td42941.html
$(document.body).on( \'click\', \'.insert-media\', function( event ) {
if ( 0 == my_tab_has_been_activated ) {
// Locates and activates media tab with label of search_text when the Media
// Library is initially opened.
var search_text = "Your Tab Name";
// http://stackoverflow.com/a/36054483/3059883
var $search_tab = $( ".media-menu-item" ).filter( function () {
return $( this ).text().toLowerCase().indexOf( search_text.toLowerCase() ) >= 0;
}).first(); // Returns the first element that matches the text. You can return the last one with .last()
$search_tab.trigger( \'click\' );
my_tab_has_been_activated = 1;
}
});
});
})(jQuery);
</script><?php
}
要自定义选项卡的代码,只需更改以下行,使其与选项卡菜单标签的文本相匹配:
var search_text = "Your Tab Name"; // Change the text as needed.
这不是最漂亮的解决方案,但对我来说确实有效。通过wp这样做会更加优雅。媒体API,但经过相当多的努力,我没能做到这一点。
自定义选项卡演示
为了完整起见,下面是一些通过
this answer 其中显示了如何创建自定义媒体库选项卡。请注意,这是WordPress v3之前的版本。5做事的方式。
Here\'s an answer 这涉及使用较新的JS API创建媒体选项卡。
add_filter( \'media_upload_tabs\', \'media_upload_tabs__tab_slug\' );
function media_upload_tabs__tab_slug( $_default_tabs ) {
$newtab = array ( \'tab_slug\' => \'Your Tab Name\' );
$tabs = array_merge( $_default_tabs, $newtab );
return $tabs;
}
add_action( \'media_upload_tab_slug\', \'media_upload_tab_slug__content\' );
function media_upload_tab_slug__content() {
wp_iframe( \'media_upload_tab_slug_content__iframe\' );
}
function media_upload_tab_slug_content__iframe() {
?>
<div>tab_slug: Add your content here.</div><?php
}