媒体集:删除“插入POST”按钮,保留“插入图库”按钮

时间:2014-06-09 作者:vannus78

在我的项目(wordpress 3.7.1)中,参与者用户可以上传媒体文件,但我想强制他们在帖子中只插入图库,而不是单个图像。使用Capability Manager增强插件,我让cotributor能够上传图像,但我不知道如何删除“插入媒体”菜单上的“插入到帖子”按钮。

我找到了filter media\\u view\\u字符串,可以删除“从URL插入”,如下所示:

add_filter( \'media_view_strings\', \'my_media_view_strings\');
function my_media_view_strings($strings) {
  if (!current_user_can(\'edit_theme_options\') ){
    unset($strings["insertFromUrlTitle"]);
  }
  return $strings;
}
我也试图取消设置insertMediaTitle,但这只是将“插入媒体”重命名为“媒体库”。

我想了解新媒体库是如何删除不需要的菜单的,但它太复杂了,我无法连接到主干结构中。

有没有简单的方法来解决我的问题?

感谢大家。

瓦努斯

1 个回复
最合适的回答,由SO网友:vannus78 整理而成

我是这样解决的

add_filter( \'media_view_strings\', \'my_media_view_strings\');
function my_media_view_strings($strings) {
  if (!current_user_can(\'edit_theme_options\') ){
    $strings["insertMediaTitle"] = ""; //Don\'t unset!
    unset($strings["insertFromUrlTitle"]);
  }
  return $strings;
}

//Media button click open "Create Gallery"
add_action( \'wp_enqueue_media\', \'openGallery\' );
function openGallery(){
  if (!current_user_can(\'edit_theme_options\') )
    add_action( \'admin_print_footer_scripts\',\'openGallery_script\', 999);
}
function openGallery_script(){
?>
<script type="text/javascript">
jQuery(function(){
  jQuery(".insert-media").click(function (event){
    var options = {
                frame: \'post\',
                state: \'gallery\',
                title: wp.media.view.l10n.createGalleryTitle,
                multiple: true
        };
        wp.media.editor.open(null,options);
    });
});
</script>\';
<?php
}
现在,当投稿人单击“添加媒体”按钮时,会显示“创建多媒体资料”界面。

问题已解决!:)

结束

相关推荐