在我的项目(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,但这只是将“插入媒体”重命名为“媒体库”。
我想了解新媒体库是如何删除不需要的菜单的,但它太复杂了,我无法连接到主干结构中。
有没有简单的方法来解决我的问题?
感谢大家。
瓦努斯
最合适的回答,由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
}
现在,当投稿人单击“添加媒体”按钮时,会显示“创建多媒体资料”界面。
问题已解决!:)