标签: wordpress

  • WordPress装备页面 插件版带后台

    WordPress装备页面 插件版带后台

    前言

    之前写了一个html的 由于本站的主题采用pjax加载的方式,会导致部分css失效。抽空改成了插件

    核心功能

    • 设备管理:添加、编辑、删除和排序设备信息
    • 分类功能:为设备分配不同类别,便于组织和筛选
    • 响应式设计:完美适配桌面端和移动端设备
    • 图片管理:支持从媒体库选择图片或使用外部图片URL
    • 自定义按钮:可为每个设备设置不同的按钮文本和链接
    • 简码支持:使用 simple_product_showcase 简码在任何页面或文章中嵌入设备展示

    演示图

    后台

    前台

    没啥好介绍的 安装插件 新建页面 输入简码即可。

    文件结构

    奶狗设备展示/
    ├── index.php              # 主插件文件,包含核心功能和WordPress钩子
    ├── assets/                # 资源文件目录
    │   ├── css/              # CSS样式文件
    │   │   ├── admin.css     # 管理后台样式
    │   │   └── frontend.css  # 前端展示样式
    │   └── js/               # JavaScript脚本文件
    │       ├── admin.js      # 管理后台交互脚本
    │       └── frontend.js   # 前端交互脚本

    安装方法

    1. 下载插件压缩包
    2. 登录WordPress管理后台
    3. 进入"插件" > "安装插件"页面
    4. 点击"上传插件"按钮
    5. 选择下载的插件压缩包并上传
    6. 安装完成后,激活插件

    使用方法

    添加设备

    1. 在WordPress管理后台,点击左侧菜单中的"设备展示"
    2. 填写设备信息表单,包括名称、描述、分类、图片等
    3. 点击"保存设备"按钮

    在页面中显示设备列表

    在任何页面或文章中插入以下简码:

    simple_product_showcase

    管理设备

    1. 在WordPress管理后台,点击左侧菜单中的"设备展示"
    2. 在设备列表中,可以编辑、删除或拖动排序设备
    3. 点击"编辑"按钮修改设备信息
    4. 点击"删除"按钮移除设备

    技术特点

    • 使用WordPress自定义表存储设备数据
    • 集成WordPress媒体上传器进行图片管理
    • 使用jQuery实现前端交互和后台管理功能
    • 响应式设计确保在各种设备上的良好显示效果
    • 安全性措施包括nonce验证和数据清理

    自定义与扩展

    开发者可以通过以下方式自定义插件:

    1. 修改CSS文件以调整前端和后台样式
    2. 扩展JavaScript文件以添加新的交互功能
    3. 在主题中使用过滤器钩子自定义输出

    兼容性

    • WordPress 5.0+
    • PHP 7.0+
    • 兼容大多数现代浏览器
  • 让博客图片动起来!WordPress实现实况图预览(附插件)

    让博客图片动起来!WordPress实现实况图预览(附插件)

    本文参考 https://www.mancs.cn/856 修改为wp插件免费开源 滑到最下面获取下载链接吧。

    演示图

    认识Live Photo:超越静态的影像革命

    技术本质:Live Photo是苹果开发的动态影像格式(.livephoto),通过HEVC视频(3秒)与JPEG图片的封装组合,实现「按压查看动态效果」的创新交互。用户在WordPress中嵌入这类文件时,传统方案仅显示静态封面。

    官方调用方案解析(LivePhotosKit技术栈)

    Apple官方提供LivePhotosKit JS库实现跨平台支持,其运作流程如下:

    1. 文件规范
      • 必须同时提供.jpg静态图与.mov视频文件
      • 视频时长限制:1.5-3秒
      • 分辨率建议:720p及以上
    2. 基础调用代码

    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 按图操作。

  • 本站自用的腾讯云COS对象存储低成本方案

    本站自用的腾讯云COS对象存储低成本方案

    省流版 每年成本大概不到40元,如果你觉得贵 那么可以关闭本文了。

    前言

    WordPress作为最受欢迎的内容管理系统之一,其自带的媒体上传功能为用户提供了极大的便利。然而,在面对大量文件或需要高效管理资源的情况下,这一功能也暴露出一些不足之处:

    • 存储成本高:随着网站内容的增长,尤其是多媒体文件(如图片、视频)的增加,使用服务器本地存储会迅速消耗宝贵的存储空间,导致服务器扩容成本上升。
    • 访问速度受限:由于所有资源都存储在Web服务器上,随着访问量的增加,服务器负载也随之增大,这可能导致加载时间延长,影响用户体验。
    • 扩展性差:WordPress自带的上传机制缺乏对大规模数据处理的支持,对于需要在全球范围内快速分发内容的场景,其表现不尽人意。
    • 备份和恢复复杂:当涉及到大规模的数据迁移或备份时,操作变得异常复杂且耗时,特别是在处理大型文件时,这可能会造成额外的工作负担和技术挑战。
    • 但在处理敏感信息或需更高安全标准的情况下,可能还需要额外的安全层来确保数据安全。

    针对以上问题,采用腾讯云COS(Cloud Object Storage)对象存储服务可以提供一个更经济、高效、安全的解决方案。接下来我们将探讨如何利用腾讯云COS优化我们的存储策略。

    方案分享

    购买套餐

    对象存储的套餐

    需要购买 标准存储容量包 规格按需购买 新建小站推荐 10G即可 1年9.77元 不够再加购就行。

    再购买一个 标准存储请求包 推荐20万次就够了 每个月20万次 一年1.63元 依旧按需购买 不够再加购

    CDN流量套餐

    如果只加速对象存储 100G的流量也够用 一年20元 这个还是比较贵的 但是对比使用对象存储的下行流量还是很实惠的。

    腾讯云COS下行流量 仅供参考 不要购买

    现在的成本 一年算下来也就 9.77+1.63+20=31.4 元。每个月还有几分钱的外网下载费用。大概1毛以内。

    使用教程

    打开网页 腾讯云对象存储 存储桶管理 创建存储桶

    地区按你需要的地区填(如果有腾讯云服务器就按服务器的位置选择区域)设置权限为 私有读写 不要选择 多AZ特性

    打开 极智压缩 其他按需填写

    创建完成后找到 自定义CDN域名

    点击添加域名 要选 回源鉴权

    域名添加后记得解析

    配置cdn

    没有什么好操作的 看图就行 没有特别标注的地方都是默认的。

    WordPress设置方法

    我用的是腾讯云官方开发的插件 具体设置方案看图

  • 告别复杂配置!密码下载+多平台机器人,一键搞定

    告别复杂配置!密码下载+多平台机器人,一键搞定

    前言

    这是一个用于WordPress的附件密码下载,对接公众号 提供API 方便其他程序调用 支持多平台机器人 如 QQ官方机器人 TG机器人等 密码随机生成,支持ai大模型。程序永久免费且开源 开源地址 https://github.com/naigoucn/ngdown 前台下载样式参考 6KE论坛的子比下载插件 微信机器人参考http://github.com/wangvsa/wechat-robothttps://github.com/shiheme/wechat-robot-guoqing 图标样式采用开源icon库 remixicon 不对接公众号的版本 下载地址 https://www.123684.com/s/uXJuVv-mN4U3

    支持功能

    • 输入密码下载附件
    • 对接微信公众号随机密码
    • 公众号推送文章
    • 单篇文章密码30分钟自动切换
    • 对接AI大模型实现自动聊天
    • 提供api接口 方便其他机器人框架调用
    • 支持多平台机器人 如QQ/TG等 (取决于您的机器人框架)
    • 后台设置页面 自定义回复设置 大模型设置 api密钥设置
    • 自动识别网盘链接展示对应图标
    • 支持选择开启或关闭密码下载

    演示图

    使用方法

    文章页

    新建文章后,如果想在文章底部加上密码下载就在编辑器底部找到下图设置

    填写对应内容即可,选项留空前台不显示该内容,显示选项 选择隐藏前台也不显示该内容。

    对接微信公众号

    在这里输入你的微信公众号 开发者ID(AppID)开发者密码(AppSecret)

    如何获取开发者ID(AppID)开发者密码(AppSecret)

    登录微信公众号平台 mp.weixin.qq.com 登录账号 找到 设置与开发 点击 开发接口管理 如下图

    复制appid粘贴到上面的位置,密钥点击重置,扫码后重新获取 记得把服务器ip设置为IP白名单。

    服务器地址改为 https://你的域名/?wechat token填写wechat 消息加解密方式选择明文模式。

    对接AI大模型

    后台找到微信机器人 AI模型 按要求填写

    这个适配的是openai的,大部分大模型都支持,所以改接口 改密钥 改模型代码 理论支持所有大模型,例如腾讯混元 阿里通义千问 DeepSeek等。 预装了部分ai大模型 如通义千问 腾讯混元 deepseek kimi 模型记得选择正确 不然会失败。

    API秘钥

    插件提供api用来获取密码 采用post形式 API Token按你需要的设置。

    接口请求方式

    api_token就是你设置的token postid就是你开启密码下载的文章

    对接其他机器人

    QQ机器人

    我使用的是 AstrBot 机器人框架 对接的QQ官方机器人 AstrBot安装教程 和使用教程 这里就不赘述 需要的请自行前往仓库获取。

    插件代码及仓库地址

    https://github.com/naigoucn/astrbot_plugin_ngdown

    TG机器人

    部分框架提供对接其他平台的功能 参考QQ机器人的对接方式

  • 「开源」奶狗珠宝证书管理插件 for WordPress

    「开源」奶狗珠宝证书管理插件 for WordPress

    闲来无事写的珠宝证书管理插件,基于WordPress

    支持功能

    • 珠宝商品增删改查
    • 证书编号自定义
    • 收货手机尾号后四位为校验码

    演示图

    后台

    前台

    小程序&网页&app

    因为是uniapp写的,理论可以搞成安卓/ios/鸿蒙app。

    演示站

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

  • 给博客加个过场小动画

    给博客加个过场小动画

    看到漫川博客 mancs.cn 里有个加载动画不错,死皮赖脸下找站长要来了。按我自己的垃圾审美改了改,

    演示 https://www.naigou.cn 额外加了个文字放大的效果 添加到额外 css 即可

    漫川博客原代码

    画蛇添足版

  • woocommerce彩虹易支付插件

    woocommerce彩虹易支付插件

    前言

    这个源码是很早之前下载的,原版由于时间问题已经找不到原作者了。并且原版不支持7.2+的php。

    代码里有原作者的信息 https://www.mebi.me/232.html 原作者的版本是4年前的了,也不支持PHP7.2+版本,于是稍微改了改。

    解决方法也很简单。错误是因为代码中使用了 each() 函数,而这个函数在 PHP 7.2 版本中已经被移除。each() 函数曾经用于遍历数组,但由于它被废弃并移除,因此代码需要更新以使用受支持的方法。要解决这个问题,应该将 each() 函数替换为 foreach 循环或其他适当的方法,具体取决于代码的功能。

    本着互联网免费分享的精神,本插件免费分享给各位。估计会有某些投机倒把的拿这个插件去卖钱,我也是管不了的。

    演示图

    支持三网支付 QQ/微信/支付宝。(也支持usdt)暂时先不发,我重新改了一套。

    重构版