将图片库的默认链接类型设置为“文件”

时间:2014-08-08 作者:Sjoerd Boerrigter

每当您将图像库添加到帖子时,图像都会自动链接到图像附件页。这并不理想,因为我想使用Fancybox 因此用户可以循环浏览图像。

我尝试了以下代码,默认情况下让图像链接到文件,但这似乎对库不起作用。关于如何将图像库的默认链接类型设置为“文件”有什么建议吗?

如果图片附件页面根本不可用(在画廊和普通图片上),我会更高兴。我真的不喜欢这个功能。

/**
 * Set default image link type to file
 */
function tp_set_default_link_type() {
    update_option( \'image_default_link_type\', \'file\' );
}
add_action( \'after_switch_theme\', \'tp_set_default_link_type\' );
提前感谢!

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

您可以覆盖库短代码link 具有以下属性:

add_filter( \'shortcode_atts_gallery\',
    function( $out ){
        $out[\'link\'] = \'file\'; 
        return $out;
    }
);
这意味着,即使您的短代码是:

[gallery ids="1,2,3"]
[gallery ids="1,2,3" link="none"]
库输出将始终生成,就像您使用link="file".

SO网友:jmarceli

现在(从4.0版开始)有了更好的解决方案,它实际上设置了默认选项:

function my_gallery_default_type_set_link( $settings ) {
    $settings[\'galleryDefaults\'][\'link\'] = \'file\';
    return $settings;
}
add_filter( \'media_view_settings\', \'my_gallery_default_type_set_link\');
查看:Overide Gallery Default Link to Settings

SO网友:Antony Gibbs

基于birgire回答,但更加灵活和固定

库输出将始终像使用link=“file”一样生成

并且仍然能够使用link="none" 例如

/**
 * Set default link type to “file” for image galleries when link isn\'t set
 */
add_filter( \'shortcode_atts_gallery\',
    function( $out ){
        if( !array_key_exists(\'link\', $out)
            || empty($out[\'link\'])
          )
          $out[\'link\'] = \'file\';

        return $out;
    }
);

结束

相关推荐

Custom gallery in wp3.5

我使用了我在3.4中为一个光滑的小自定义库找到的教程,但升级到3.5后,它就不再工作了。我仍在努力学习php,但似乎无法再次使用它,因为我要么出错,要么什么都没有。无论如何,在升级之前,用户所要做的就是点击“添加媒体”,上传他想在帖子中显示的任何图像[在本例中是产品],设置图像的顺序,第一个图像是顶部/全尺寸图像,然后在文本字段中键入他的描述,当他点击“提交”时,将以上所有内容以良好的格式显示出来,如下所示:single.php xxxxxxxxxxxxxxxxxxxxxxxxxxxxx