在3.5媒体IFRAME中禁用图库

时间:2012-12-14 作者:janw

我正在创建一个设置来设置徽标。这是可行的,但有一个问题
我只需要设置一个图像,以便禁用/隐藏库项目。当然,这只会影响此页面,甚至更好的设置。

<?php
// above this I do a simple settings api
?>
<input id="set_logo" type="text" size="100" name="set_logo" value="<?php echo esc_attr( $value ); ?>" />
<?php
do_action( \'media_buttons\', \'set_logo\' );
我已经在代码中的多个地方找到了答案,但我找不到任何线索。

EDIT<我用另一种与此无关的方式解决了这个问题。该解决方案现在已在我的第一个插件中实现:http://wordpress.org/extend/plugins/default-featured-image/<无耻的插头

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

可以使用过滤器挂钩禁用选项卡。将wpse\\u 76095\\u isOurMediaUpload()替换为,但您确定正在运行媒体弹出窗口。

add_filter(\'media_upload_tabs\', \'wpse_76095_filterMediaUploadTabs\');

/**
* filter out unwanted media upload tabs
* @param array $tabs
* @return array
*/
function wpse_76095_filterMediaUploadTabs($tabs) {
    if (wpse_76095_isOurMediaUpload()) {
        unset(
            $tabs[\'type_url\'],  // no linking from external sites (no local image)
            $tabs[\'gallery\'],   // no galleries
            $tabs[\'nextgen\']    // no NextGEN galleries
        );
    }

    return $tabs;
}

SO网友:brasofilo

我没有复制Q的细节。但以下是从新媒体界面禁用创建库链接的工作:

add_action( \'admin_footer-post-new.php\', \'disable_media_gallery_wpse_76095\' );
add_action( \'admin_footer-post.php\', \'disable_media_gallery_wpse_76095\' );
function disable_media_gallery_wpse_76095() 
{
    ?>
    <script type="text/javascript">
    jQuery(document).ready( function($) {
        $(document.body).one( \'click\', \'.insert-media\', function( event ) {
            $(".media-menu").find("a:contains(\'Gallery\')").remove();
        });
    });
    </script>
    <?php
}
我刚刚发现one 在jQuery中,不错;)

remove gallery from new media uploader

结束

相关推荐

Protect Uploads in Multisite

我正在使用WordPress multisite(3.3.1),并试图保护从某些博客上传的内容不被热链接和直接访问。这与How to Protect Uploads, if User is not Logged In?, 但我只想通过服务器上运行的脚本访问上传内容(即,只有服务器可以显示/提供上传服务),因此内容可以受到WordPress用户权限的保护。例如,我有一个名为40c的字段。jpg位于localhost/files/2011/07/40c。jpg;我想让文件显示出来only 在本地域上由HTML