You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在WordPress中使用图片URL而非ID创建图片画廊

实现支持图片URL参数的WordPress画廊短代码

要替换默认的[gallery ids="..."],实现用[gallery urls="..."]直接传入图片URL生成画廊的需求,你可以通过给WordPress添加自定义短代码来实现——毕竟所有图片都在同域名下,处理起来更省心,具体方案如下:

步骤1:添加自定义短代码函数

把下面的PHP代码添加到你的主题functions.php文件里,或者更稳妥的方式:创建一个简单的自定义插件(避免主题更新后代码丢失):

function custom_url_gallery_shortcode($atts) {
    // 提取短代码参数,设置默认空值
    $atts = shortcode_atts(array(
        'urls' => '',
    ), $atts);

    // 没传urls参数的话,返回提示
    if (empty($atts['urls'])) {
        return '<p>请在[gallery]短代码中传入urls参数,例如:[gallery urls="http://example.com/image1.jpg, http://example.com/image2.jpg"]</p>';
    }

    // 清理URL里的空格,分割成数组
    $image_urls = array_map('trim', explode(',', $atts['urls']));
    // 用默认画廊的CSS类,直接继承主题样式
    $gallery_html = '<div class="gallery gallery-columns-3">';

    // 循环生成每个图片元素
    foreach ($image_urls as $url) {
        // 用图片文件名当alt文本(你也可以加个alts参数自定义)
        $alt_text = basename($url, '.jpg');
        $gallery_html .= sprintf(
            '<figure class="gallery-item">
                <div class="gallery-icon landscape">
                    <a href="%s"><img src="%s" alt="%s" class="wp-image-placeholder" /></a>
                </div>
            </figure>',
            esc_url($url),
            esc_url($url),
            esc_attr($alt_text)
        );
    }

    $gallery_html .= '</div>';
    return $gallery_html;
}
// 注册短代码,覆盖默认的gallery短代码
add_shortcode('gallery', 'custom_url_gallery_shortcode');

步骤2:使用自定义短代码

现在你就能按需求使用短代码了:
[gallery urls="http://example.com/images/image01.jpg, http://example.com/images/image02.jpg, http://example.com/images/image03.jpg"]

代码小说明

  • 用shortcode_atts处理参数,确保没传urls也不会报错;
  • array_map('trim', explode(',', $atts['urls']))会自动清理URL里的空格,避免无效链接;
  • 容器和元素用了WordPress默认画廊的CSS类,直接复用主题的画廊样式,不用额外写CSS;
  • 如果需要灯箱效果,可以在主题里引入Fancybox这类灯箱插件,或者复用WordPress自带的媒体库灯箱逻辑。

内容的提问来源于stack exchange,提问作者Rodrigo Caetano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.27 14:37:43