分类: 网站
-

让博客图片动起来!WordPress实现实况图预览(附插件)
本文参考 https://www.mancs.cn/856 修改为wp插件免费开源 滑到最下面获取下载链接吧。
演示图
认识Live Photo:超越静态的影像革命
技术本质:Live Photo是苹果开发的动态影像格式(.livephoto),通过HEVC视频(3秒)与JPEG图片的封装组合,实现「按压查看动态效果」的创新交互。用户在WordPress中嵌入这类文件时,传统方案仅显示静态封面。
官方调用方案解析(LivePhotosKit技术栈)
Apple官方提供LivePhotosKit JS库实现跨平台支持,其运作流程如下:
- 文件规范:
- 必须同时提供.jpg静态图与.mov视频文件
- 视频时长限制:1.5-3秒
- 分辨率建议:720p及以上
- 基础调用代码:
WordPress深度整合实战(分步详解)
以下内容来自 https://www.mancs.cn/856
实现原理:
WordPress 中引入 LivePhotosKit JS 库来支持实况图,并创建一个自定义古腾堡区块
首先,我们需要在 WordPress 中引入LivePhotosKit JS库
在你的主题的functions.php文件中添加以下代码:function enqueue_livephotoskit_script() { wp_enqueue_script('livephotoskit-js', 'https://cdn.apple-livephotoskit.com/lpk/1/livephotoskit.js', array(), null, true); } add_action('wp_enqueue_scripts', 'enqueue_livephotoskit_script');这段代码将在你的 WordPress 站点上加载
LivePhotosKit JS库接下来,我们将创建一个自定义 Gutenberg 区块,使用户能够方便地在区块编辑器中添加支持实况图的区域
function register_custom_live_photos_block() { wp_register_script( 'custom-live-photos-block', get_template_directory_uri() . '/block.js', array('wp-blocks', 'wp-element', 'wp-editor', 'wp-components', 'wp-i18n'), filemtime(get_template_directory() . '/block.js') ); register_block_type('custom/live-photos-block', array( 'editor_script' => 'custom-live-photos-block', 'render_callback' => 'render_custom_live_photos_block' )); } add_action('init', 'register_custom_live_photos_block'); function render_custom_live_photos_block($attributes) { if (!isset($attributes['photoURL']) || !isset($attributes['videoURL'])) { return ''; } $width = '100%'; $height = '300px'; // Example fixed height, adjust as necessary return sprintf( '<div class="live-photo-wrapper" style="width:%s; height:%s; position:relative;"> <div data-live-photo data-photo-src="%s" data-video-src="%s" style="width:100%%; height:100%%;"></div> </div>', esc_attr($width), esc_attr($height), esc_url($attributes['photoURL']), esc_url($attributes['videoURL']) ); }主题跟目录创建一个
JavaScript文件block.js,并添加以下代码(function (blocks, editor, element, components) { var el = element.createElement; var MediaUpload = editor.MediaUpload; var InspectorControls = editor.InspectorControls; var TextControl = components.TextControl; blocks.registerBlockType('custom/live-photos-block', { title: 'Live Photos Block', icon: 'camera', category: 'media', attributes: { photoURL: { type: 'string', default: '' }, videoURL: { type: 'string', default: '' }, width: { type: 'number', default: 400 }, height: { type: 'number', default: 300 } }, edit: function (props) { var attributes = props.attributes; var setAttributes = props.setAttributes; return el( 'div', { className: props.className }, el('p', {}, '选择图片和视频:'), el( MediaUpload, { onSelect: function (media) { setAttributes({ photoURL: media.url }); }, allowedTypes: 'image', render: function (obj) { return el(components.Button, { className: attributes.photoURL ? 'image-button' : 'button button-large', onClick: obj.open }, !attributes.photoURL ? '选择图片' : el('img', { src: attributes.photoURL }) ); } } ), el( MediaUpload, { onSelect: function (media) { setAttributes({ videoURL: media.url }); }, allowedTypes: 'video', render: function (obj) { return el(components.Button, { className: 'button button-large', onClick: obj.open }, '选择视频' ); } } ), el(InspectorControls, {}, el(TextControl, { label: '宽度(px)', value: attributes.width, onChange: function (value) { setAttributes({ width: parseInt(value, 10) || 0 }); } }), el(TextControl, { label: '高度(px)', value: attributes.height, onChange: function (value) { setAttributes({ height: parseInt(value, 10) || 0 }); } }) ) ); }, save: function () { // 后台通过 PHP 渲染,前端保存为空 return null; } }); }( window.wp.blocks, window.wp.editor, window.wp.element, window.wp.components ));插件版本
本站把它改为插件 使用方法如下 安装启用插件 在编辑器内找到 LIve Photos Block 按图操作。


- 文件规范:
-

一个使用 Vue 3 + TypeScript + Vite 构建的现代化个人主页
原文转自 https://www.lik.cc/archives/homeforvue
Home For Vue
一个使用 Vue 3 + TypeScript + Vite 构建的现代化个人主页,具有博客文章展示、项目展示、联系表单等功能。

特性
- 🚀 使用 Vue 3 + TypeScript + Vite 构建
- 🎨 支持深色模式
- 📱 响应式设计,支持移动端
- ⚡️ 快速加载和页面切换
- 🔍 SEO 友好
- 🌐 支持多语言
- 📝 Markdown 博客支持
- 📦 组件自动导入
- 🎯 TypeScript 类型安全
- 🔧 可配置的主题
技术栈
- Vue 3
- TypeScript
- Vite
- Vue Router
- TailwindCSS
- PostCSS
- ESLint + Prettier
- Husky + lint-staged
开发
项目结构
-

「开源」奶狗珠宝证书管理插件 for WordPress
闲来无事写的珠宝证书管理插件,基于WordPress
支持功能
- 珠宝商品增删改查
- 证书编号自定义
- 收货手机尾号后四位为校验码
演示图
后台


前台

小程序&网页&app
因为是uniapp写的,理论可以搞成安卓/ios/鸿蒙app。

演示站
http://aa.naigou.cn 演示证书 HTY001 电话尾号后四位1521
-

仿小米日历的一个卡片日历html页面
最近看到小米的日历软件更新了,发现了个不错的东西,新增了一个台历的页面,意外的感觉很好看,想着搞到博客里,当个小工具,先写了一点点,后面再完善。

演示图
PC

手机

目前只写了单页,想移植到博客的,自行参考。使用了https://api.shwgij.com的 农历api和api.hn的图片api。
-

奶狗赞赏V1.4.0 极简风格的赞赏程序
前言
找到之前的一个要饭程序 看版权上写的 烟雨寒云 但是他的网站打不开了,发动偷偷技能,使用微信的 weui 改了个 css 样式,修复了原版的一些功能。
欢迎搬运,可以不带原文链接,但是请不要改我的名字,也不要拿去售卖,Functions.php 已经加密。并带有版权信息。
演示站
支持功能
- 自定义金额打赏
- 后台功能
- 对接彩虹易支付
- 赞助时输入QQ号 获取昵称以及头像
- 赞赏时留言
- 总赞助金额统计
- 赞助者位置显示(根据用户IP)
V1.4.0
新增固定金额按钮,默认隐藏手动输入。优化支付方式逻辑,新增默认黑白颜色,选中时恢复原色彩,新增默认支付方式选择。默认支付宝支付
V1.3.1
由于没有稳定的获取QQ昵称的接口,调整为手动输入昵称模式。代码无需更改,替换根目录的index.php即可
V1.3.0新增功能
- 新增赞助用户全部信息展示(朋友圈UI)
- 优化部分样式

V1.2.1新增功能
- 新增收到赞助后邮箱通知
V1.2 新增功能
- 赞助金额前三位,新增角标提示
- 移除原有弹窗提示,更改为Weui提示样式
- 留言内网站自动识别为外链(需带http/https)
- 删除无用css js 图片文件,占用更小
- 后台弹窗样式优化
V1.1 新增功能
- 更改赞助人员逻辑 按赞助金额从大到小排列
- 赞助列表新增翻页按钮,并优化细节
- 优化暗黑模式的部分问题
V1.0.1 新增功能
- USDT赞赏
- 支付方式小图标
- 更换IP库的API
- 修复底部版权和备案号不显示的BUG
演示图


-

woocommerce彩虹易支付插件
前言
这个源码是很早之前下载的,原版由于时间问题已经找不到原作者了。并且原版不支持7.2+的php。代码里有原作者的信息 https://www.mebi.me/232.html 原作者的版本是4年前的了,也不支持PHP7.2+版本,于是稍微改了改。

解决方法也很简单。错误是因为代码中使用了
each()函数,而这个函数在 PHP 7.2 版本中已经被移除。each()函数曾经用于遍历数组,但由于它被废弃并移除,因此代码需要更新以使用受支持的方法。要解决这个问题,应该将each()函数替换为foreach循环或其他适当的方法,具体取决于代码的功能。本着互联网免费分享的精神,本插件免费分享给各位。估计会有某些投机倒把的拿这个插件去卖钱,我也是管不了的。
演示图
支持三网支付 QQ/微信/支付宝。(也支持usdt)暂时先不发,我重新改了一套。

重构版




