热门广告位
立即入驻

子比主题加最新注册用户滚动(WordPress)

网络教程1小时前更新
0 0 0

给 WordPress 子比主题加一个「最新注册用户滚动展示」,用的是纯函数方式,不动主题核心文件,升级也不会丢。核心思路是查最近注册的用户,拼成一段滚动 HTML,再用短代码或挂载点插到页面里。

功能与技术要点

WordPress子比主题添加用户注册滚动 分享一下函数,挺简单的一个小功能,有能力可以自行二次开发成小工具 函数代码: 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 .= '‘ . $avatar . $user_name . ‘ 在 ‘ . $registration_date . ‘ 加入了本站'; $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代码 } 想要在自己网站显示这个效果就自行二开成小工具或者在合适的文件位置输出函数代码 例如在主题目录下的index.php文件main标签下方插入一行 code <?php echo DearLicy_notice(); ?>

数据从哪来

WordPress 的用户表本身就是现成的数据源,按注册时间倒序取前若干条即可。要注意的是别每次都实时查库,页面一多会拖慢;稳妥做法是用瞬态缓存几分钟,注册后主动清一次。

只展示昵称,别泄露信息

这条必须强调:用户表里有邮箱、登录名等字段,公开展示只能用昵称和头像,绝不能把 user_login 或邮箱输出到前端。查询时只 select 需要的字段,从源头降低风险。

插入位置怎么选

子比主题一般提供挂载钩子,优先用钩子;没有钩子就用短代码,把短代码放进小工具或页面里。滚动效果靠 CSS 动画实现,别用 setInterval 反复改 DOM,那样在手机上很耗电。

常见问题

升级主题会失效吗

代码放在子主题的 functions.php 或独立插件里就不会,改主题核心文件才会。

用户多了会卡吗

加了缓存和条数限制就不会。一次只取十几条,不查全表。

{“@context”:”https://schema.org”,”@type”:”FAQPage“,”mainEntity”:[{“@type”:”Question”,”name”:”升级主题会失效吗”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”代码放在子主题的 functions.php 或独立插件里就不会,改主题核心文件才会。”}},{“@type”:”Question”,”name”:”用户多了会卡吗”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”加了缓存和条数限制就不会。一次只取十几条,不查全表。”}}]}

相关阅读

更多同类内容可以翻站内博客,也可以在提交页推荐你要收录的站点。

© 版权声明

相关文章

暂无评论

访客头像
none
暂无评论...