标签: wordpress随机调用

  • 让wordpress随机调用一张指定文件夹中的图片

    扫描你给的目录里所有 jpg|jpeg|png|gif 图片;

    随机挑一张返回完整<img>标签并回显。

    <?php
    // 目录硬编码,末尾别漏 “/”
    $dir = get_stylesheet_directory() . '/images/jianzhanpress/pic/';
    
    // 允许的后缀
    $ext = ['jpg', 'jpeg', 'png', 'gif'];
    
    // 把目录里所有图片读出来
    $imgs = array_filter(
        (array) scandir($dir),
        fn($f) => in_array(strtolower(pathinfo($f, PATHINFO_EXTENSION)), $ext)
    );
    
    if ($imgs) {
        // 随机取一张
        $file = $imgs[array_rand($imgs)];
    
        // 拼成可访问的 URL(注意用 get_stylesheet_directory_uri)
        $url = get_stylesheet_directory_uri() . '/images/pic/' . $file;
    
        // 直接输出,也可以 return 给短码/区块用
        echo '<img src="' . esc_url($url) . '" alt="random" />';
    }
    ?>

    用法示例

    扔到首页模板:把上面代码粘到 front-page.php 或 index.php 你想出现的位置即可。

    做成短码:包一层 add_shortcode(‘random_pic’, fn() => ob_start() && 上面代码 && return ob_get_clean());

    区块/HTML 小工具:先 add_shortcode,再到小工具里写 [random_pic]。

    性能提示

    目录里图片不多时 scandir 没压力;若图片上百张可换成一次性生成 json 缓存,或使用 transient 定时刷新。