使用WordPress的图库短代码允许自定义图像尺寸

7
在WordPress 2.5及以上版本中,内置了一个“Gallery”功能,允许在WordPress博客的文章或页面中添加图像库(参考:http://codex.wordpress.org/Gallery_Shortcode)。
您可以使用size选项指定要显示的缩略图大小。有效值包括"thumbnail"、"medium"、"large"和"full"。默认为"thumbnail"。可在WordPress管理面板中配置"thumbnail"、"medium"和"large" 图片的大小。
例如:[gallery size="medium"] 我的问题:我想修改[gallery]短代码,以便在输入时允许自定义大小--而不是通过管理面板进行设置。我希望使用类似于[gallery size="145x160"]的格式。
与其下载臃肿的插件,我宁愿使用现有的功能,但我不确定需要在文件结构中做哪些更改。我熟悉PHP,但我担心一旦我更新WP的未来版本,它将覆盖我已经开始的工作。
能否有人帮帮我? 非常感谢!

这是我4到5年来第一次使用Stack,我看到一个我认识的人在问问题;巴尔的摩科技!哦,有人遇到[gallery size="medium"]无法工作的问题吗?这个曾经有效,但当我更新页面后,它不再将图像大小设置为中等。现在当我重新添加它时,它就会忽略它? - chaser7016
2个回答

10

我知道这已经晚了,但我发现这个问题正在尝试实现同样的事情。

画廊没有任何内置过滤器来允许这一点,因此我开发了一个下面有效的解决方案。

在你主题的functions.php文件中添加以下代码:

remove_shortcode('gallery');
add_shortcode('gallery', 'custom_size_gallery');

function custom_size_gallery($attr) {
    // Change size here - medium, large, full
    $attr['size'] = 'medium';
    return gallery_shortcode($attr);
}

这将打断正常的图库调用,修改所使用的大小,然后调用内置的WordPress图库。


1
您还可以将$attr['size']设置为使用add_image_size()创建的任何大小; - Dirk Diggler

0

WordPress在上传图片时会将其压缩成多个尺寸。因此,如果您没有在上传图片之前在管理面板中设置给定的尺寸,则无法获得所需的图片尺寸。 但是,您可以添加额外的图片尺寸:

add_image_size( 'sidebar-thumb', 120, 120, true ); // Hard Crop Mode
add_image_size( 'homepage-thumb', 220, 180 ); // Soft Crop Mode
add_image_size( 'singlepost-thumb', 590, 9999 ); // Unlimited Height Mode

关于add_image_size()的更多信息,请参见Codex


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接