功能介绍 分享一款轻量级的实用函数代码,核心功能是实现网站新用户注册信息的滚动播报效果。代码逻辑简洁易懂,即便你是新手也能快速上手部署,有开发基础的朋友还可以基于此代码进行二次开发,拓展成独立的小工具(比如增加播报样式、…
功能介绍
分享一款轻量级的实用函数代码,核心功能是实现网站新用户注册信息的滚动播报效果。代码逻辑简洁易懂,即便你是新手也能快速上手部署,有开发基础的朋友还可以基于此代码进行二次开发,拓展成独立的小工具(比如增加播报样式、自定义播报内容、设置播报频率等),适配更多使用场景。
部署教程
若想在自己的子比主题网站上实现该滚动播报效果,可参考以下两种方式:
- 二次开发成独立小工具:适合有一定开发能力的用户,可封装成插件形式,方便开关管理、多站点复用;
- 直接嵌入代码:新手友好型操作,只需找到主题目录下的
index.php 文件,在 <main> 标签下方插入一行代码调用语句,即可快速输出该滚动播报功能。
[hidecontent type="reply"]
<?php echo DearLicy_notice(); ?>
[/hidecontent]
在主题functions.php文件最下面添加上以下代码
[hidecontent type="reply"]
function DearLicy_notice() {
global $wpdb;
// 定义SQL查询来获取最新注册的十个用户
$sql = "SELECT ID, user_login, user_registered
FROM $wpdb->users
ORDER BY user_registered DESC
LIMIT 10"; //将10改为20则获取20个用户
// 执行查询
$users = $wpdb->get_results($sql);
$slides = ''; // 初始化$slides变量,用于存储每个用户的HTML代码片段
// 遍历结果集并生成HTML代码
if ($users) {
foreach ($users as $user) {
$user_name = $user->user_login;
$avatar = zib_get_avatar_box($user->ID, 'avatar-img avatar-mini mr6', false, true);
$link = zib_get_user_home_url($user->ID);
$registration_date = date('Y-m-d H:i:s', strtotime($user->user_registered));
// 为每个用户生成一个swiper-slide
$slide = '<div class="swiper-slide notice-slide">';
$slide .= '<a class="text-ellipsis" href="'.$link.'">' . $avatar . $user_name . ' 在 ' . $registration_date . ' 加入了本站</a>';
$slide .= '</div>';
// 拼接每个用户的HTML代码片段
$slides .= $slide;
}
}
// 构建完整的HTML结构
$html = '<div class="swiper-bulletin c-red radius8">';
$html .= '<div class="new-swiper" data-interval="5000" data-direction="vertical" data-loop="true" data-autoplay="1">';
$html .= '<div class="swiper-wrapper">';
$html .= $slides; // 插入所有用户的HTML代码片段
$html .= '</div>';
$html .= '<span class="swiper-notification" aria-live="assertive" aria-atomic="true"></span>';
$html .= '</div>';
$html .= '</div>';
return $html; // 返回生成的HTML代码
}
[/hidecontent]