让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 定时刷新。

原文

http://wordpress.zj.cn/jiaocheng/50.html

相关推荐
李纲明1 天前
WordPress 后台极慢但前台正常:先降 Heartbeat 与修订版本,再查 autoload options 与后台专用插件
wordpress·heartbeat·autoload·devdiy·后台性能·修订版本·wp_options
guizhoumen3 天前
2026国内外主流CMS内容管理系统对比
cms·wordpress·建站系统·pageadmin
李纲明3 天前
WordPress 定时发布不生效或计划任务堆积:先核 WP-Cron 与系统 crontab,再查 Action Scheduler
wordpress·crontab·devdiy·wp-cron·定时发布·建站排障
snysy4 天前
WordPress伪静态404故障排查笔记
android·笔记·wordpress
代龙涛5 天前
WordPress Query 查询机制详解(WP_Query)
开发语言·后端·php·wordpress
李纲明5 天前
WordPress 更新插件后白屏或致命错误:先开 debug.log 与恢复模式,再二分法定位冲突插件
wordpress·白屏·致命错误·恢复模式·插件冲突·devdiy·debug.log
孙琦Ray5 天前
PrivacySafe 发布 57 个免费开源安全脚本,覆盖 139 个漏洞
wordpress·开源安全·漏洞防护·php2shell·privacysafe
李纲明5 天前
WordPress 报建立数据库连接时出错:先核 wp-config 四元组,再查 MySQL 服务与表修复
运维·数据库·mysql·wordpress·排障·devdiy
李纲明5 天前
WordPress 登录后跳回登录页或提示「Cookie 被阻止」:先核站点 URL 与 HTTPS 一致,再查安全插件与 CDN
https·登录·cdn·wordpress·cookie·devdiy·站点url
李纲明5 天前
WordPress 提示「建立数据库连接时出错」:先核 wp-config 与数据库服务,再查表损坏与磁盘配额
数据库·wordpress·devdiy