删除媒体编辑器选项卡时出现问题--重复项

时间:2014-11-16 作者:johnrom

我遵循几个地方的建议,使用以下过滤器删除选项卡。但是,出现的选项卡数量相同,最后一个选项卡只显示x次。我正在运行Multisite,4.0

过滤器:

function remove_media_editor_tabs( $strings ) {
    $user_id = get_current_user_id();
    $user = get_userdata( $user_id );

    $user_has_role = array_intersect( $user->roles, array(
        \'role_one\', 
        \'role_two\' 
    ) );

    if ( $user_has_role ) {
        // remove "Create New Gallery"
        unset( $strings["createGalleryTitle"] );

        // remove "Set Featured Image"
        unset( $strings["setFeaturedImageTitle"] );

        // remove "Create Video Playlist"
        unset( $strings["createVideoPlaylistTitle"] );
    }

    return $strings;
}
add_filter(\'media_view_strings\', \'remove_media_editor_tabs\');
屏幕截图:

Duplicate Media Tabs when attempting to remove tabs

2 个回复
SO网友:poojanya

将字符串更改为null或空字符串将删除上载程序左侧菜单和相应选项卡中的项目。将此代码粘贴到函数中。php:

function remove_media_tab( $strings ) {
    if( !current_user_can( \'administrator\' ) ) {
         $strings["createGalleryTitle"] = "";
         $strings["setFeaturedImageTitle"] = "";
         $strings["insertFromUrlTitle"] = "";
         $strings[\'createPlaylistTitle\'] = "";
         $strings[\'createVideoPlaylistTitle\'] = "";
    }
    return $strings;
}
add_filter( \'media_view_strings\', \'remove_media_tab\' );
您还可以使用过滤器取消“创建音频播放列表”和“创建视频播放列表”按钮:

add_filter( \'media_library_show_audio_playlist\', function(){ 
    return false; 
}, 10, 1 );

add_filter( \'media_library_show_video_playlist\', function(){ 
    return false; 
}, 10, 1 );
这还可以避免您运行默认查询来检查媒体库中是否有任何视频/音频文件。

SO网友:johnrom

这是我能得到的最接近的,但如果有人有任何其他想法,那就太好了。我还没有完全掌握WP的主干部分,也从未使用过它,所以我不确定扩展整个对象是覆盖默认功能的方式。任何反馈都会很有帮助。

/**
 * Replace the \'insert media into post\' frame with 
 * one that hides featured image, gallery, and other states
 */
var originalPostMediaFrame = wp.media.view.MediaFrame.Post;

wp.media.view.MediaFrame.Post = originalPostMediaFrame.extend({

    activate: function() {
        originalPostMediaFrame.prototype.activate.apply(this,arguments);

        this.menuItemVisibility( \'featured-image\', \'hide\' );
        this.menuItemVisibility( \'video-playlist\', \'hide\' );
        this.menuItemVisibility( \'playlist\', \'hide\' );
        this.menuItemVisibility( \'gallery\', \'hide\' );
    }
});

结束

相关推荐

Web.config打破了子目录MultiSite的主题

我们正在将单个wordpress站点转换为子目录网络,但找不到任何web。正确工作的配置。一旦我们更改了单站点web,我们就永远无法让主题发挥作用,即使是在根(/)站点上。为多站点配置,它会中断。我已经搜索了几个小时,找到了几个人们找到网站的主题。配置对我们有效,但没有一个对我们有效,主题总是被打破。我们需要的设置如下:http://www.domain.com/ (主站点)http://www.domain.com/en/ (网站英文版)我确实在我自己的Apache服务器上实现了一定程度的功能,但它尝试