有用户反应7B2主题中圈子的图片预览不是特别的友好,我深入研究并解决了7B2主题圈子模块中的图片浏览体验问题。从中午到晚上,断断续续攻克了多个技术难点,最终实现了一个性能出色、体验流畅的图片灯箱功能。考虑到教程的技术深度和解决方案的实用价值,本文设置为付费查看。体谅下博主的良心用苦,就当是打赏博主买一杯咖啡了☕️
大家如果还有什么需求,欢迎到🏠 社区发帖,我会第一时间回复大家,并想办法解决大家遇到的难题!
效果预览
核心优化特性
- ✅ 全新触摸手势支持
- ✅ 流畅的过渡动画效果
- ✅ 完美适配移动端
- ✅ 一键图片下载
- ✅ 键盘快捷操作
实现步骤
1. 创建必要文件
首先在7b2子主题根目录中创建以下文件:
img-box.js
– 存放灯箱功能的JavaScript代码img-box.css
– 存放灯箱样式代码
2. 添加JavaScript代码
将完整JavaScript代码复制到 img-box.js
文件中。这段代码实现了:
- 图片灯箱的基本显示功能
- 触摸滑动和手势控制
- 图片下载功能
- 键盘快捷键支持
3. 添加CSS样式
将CSS代码复制到 img-box.css
文件中。这些样式定义了:
- 灯箱的布局和动画效果
- 响应式设计适配
- PC和移动端的不同交互体验
4. 引入灯箱js
在子主题的functions.php
找到这段代码:
wp_enqueue_script( 'b2-child-main', B2_CHILD_URI.'/child.js', array('jquery'), B2_VERSION , true );
在这段代码下面引入img-box.js文件
// 圈子新版灯箱
wp_enqueue_script( 'b2-child-img-box', B2_CHILD_URI.'/img-box.js', array('jquery'), B2_VERSION , true );
5. 引入灯箱css
在子主题的functions.php
找到这段代码:
wp_enqueue_style( 'child-style-main', B2_CHILD_URI.'/style.css' , array() , B2_VERSION, 'all');
在这段代码下面引入img-box.css文件
wp_enquewp_style( 'child-style-img-box', B2_CHILD_URI.'/img-box.css' , array() , B2_VERSION, 'all');
6. 添加覆盖圈子模版代码
add_filter('template_include', function($template) {
if(is_page_template('pages/circle.php')) {
$new_template = get_stylesheet_directory() . '/Templates/Posts/circle.php';
if(file_exists($new_template)) {
return $new_template;
}
}
return $template;
});
7. 完成安装
- 保存所有文件
- 返回WordPress后台
- 清除网站缓存
- 刷新页面查看效果
至此,新版圈子灯箱功能已经完全实现,支持更流畅的图片浏览体验和更好的移动端适配。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
大佬辛苦了!感谢!😭不过有个地方不太懂,请求指教。因为我以前都是偷懒,直接全部在父主题里修改的(我不知道如何建立子主题)。这次发现父主题里的functions.php里搜不到那两段代码,直接加进去似乎就产生致命错误打不开网站了,所以又去搜了一下建立子主题的教程,然后用了个“Child Theme Configurator”的插件建立了子主题,发现子主题里的functions.php还是没有那两端代码,直接添加也会打不开网站。接着我又去找了另一个开源的b2子主题安装,发现里面的functions.php里还是没有这两段代码,现在已经不知道咋搞,请求大佬指教一下。
很疑惑,是不是每个子主题的代码都不一样的呢?如果是这样的话,不知大佬能否简单搞个梦博客社区里专用的子主题模板,这样以后大佬开发出来的功能,我们这样的小白直接扔进这个模板里就万事无忧了。感谢大佬答疑解惑!👍👍👍
私信我加我的qq,我来远程协助你,至于我社区的子主题模板的话,后期可能会发不出来,但是现在还是功能太少了,发出来也没多大用处,等功能在多点,完善完善,我个人是不喜欢花里胡哨的ui的,所以后面可能会注重功能,但也少不了你们提出的功能建议,感谢支持
大佬,忘了跟你反馈一下了:
1.这段的名称多了一个词,就是引入css的这一个:wp_enquewp_enqueue_style( ‘child-style-img-box’, B2_CHILD_URI.’/img-box.css’ , array() , B2_VERSION, ‘all’);
wp_enquewp_enqueue_style 改为 wp_enqueue_style 就能正常了,否则打不开灯箱。
2.还有就是图片灯箱出现后,能否实现再点一次屏幕上的任意地方,就直接退出灯箱呢,目前似乎要点右上角的x才能退出,比较累。
3.PC端上的左右切换按钮有点小,用鼠标点有点累。
感谢👍
可以点击esc健推出,也支持方向左右健进行切换
关于wp_enquewp_enqueue_style 这个问题,已经修改
4.还有就是手指左右滑动的时候,似乎要重重地滑动比较长的距离才能成功切换图片,如果只是轻轻一滑就无法切换,这样滑多了就比较累。
const threshold = window.innerWidth * 0.3;
改为
const threshold = window.innerWidth * 0.1; 数值越小,越灵敏
好的,谢谢😊
感谢,现在已经知道怎么搞了。👍