使用WordPress的图库短代码允许自定义图像大小

Mik*_* B. 7 php wordpress gallery image-gallery shortcode

在WordPress 2.5及更高版本中,有一个内置的Gallery功能,允许选择将图像库添加到WordPress博客上的帖子或页面.(参考:http://codex.wordpress.org/Gallery_Shortcode)

您可以使用size选项指定要显示的缩略图大小.有效值包括"thumbnail","medium","large"和"full".默认为"缩略图".可以在WordPress管理面板中配置"缩略图","中"和"大"图像的大小.

即. [gallery size="medium"]

我的问题:我正在尝试破解[gallery]短代码,以便在输入时允许自定义大小 - 而不是尝试通过管理面板执行此操作.我想用类似的东西[gallery size="145x160"].

而不是下载一个膨胀的插件,我宁愿使用已经存在的东西,我不知道我需要在我的文件结构中进行哪些更改.我对PHP很熟悉,但我担心我会做出改变,然后当我更新WP的未来版本时,它会覆盖我在运动中设置的内容.
有人可以帮我解决这个问题吗?

非常感谢你!

ran*_*ame 10

我知道这已经很晚了,但我发现这个问题试图完成同样的事情.

Gallery没有任何内置过滤器允许这样做,所以我开发了一个适用于下面的解决方案.

在主题的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);
}
Run Code Online (Sandbox Code Playgroud)

这将中断正常的图库调用,修改正在使用的大小,然后调用内置的WordPress库.


pri*_*ium 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
Run Code Online (Sandbox Code Playgroud)

有关Codex上的 add_image_size() 的更多信息