【公告】
主题第四弹已更新
免费下载,搜索Typecho即可
人生没有白走的路,每一步都算数。
【原创】Typecho—自适应主题Jasmine二开—2025.01.15日功能更新及个别问题修复(第四弹)

【原创】Typecho—自适应主题Jasmine二开—2025.01.15日功能更新及个别问题修复(第四弹)

WuWeiStyle二开Jasmine Theme 更新日志演示地址 https://8ww.fun作者:吴畏的博客版本记录特别鸣谢提出意见者:boyving、wanfan、a122555[1.3.2] - 2025-01-15全站公告功能更新🔄 文件变更jasmine/ ├── component/ │ └── announcement.php # 公告组件 │ └── random-quote.php # 随机名言组件 │ └── sidebar.php # 侧边栏组件 └── core/ └── options.php # 公告和随机名言设置选项✨ 新增功能1. 随机名言展示内置150条精选名言涵盖励志、成长、生活等主题每条名言控制在30字以内支持后台自定义添加2. 全站公告功能公告显示设置支持HTML内容可自定义显示时间可设置显示频率(每次/24小时一次/关闭)支持暗色模式移动端适配3. 修复优化修复明亮/暗黑按钮点击不更换图标的问题修复首页右侧评论无法点击进入的问题修复用户权限判断问题修复多个隐藏内容块显示问题修复评论计数问题其他问题修复[1.3.1] - 2025-01-09网盘下载功能增强更新🔄 文件变更includes/download-btn.php✨ 功能优化1. 网盘提取码增强多格式提取码支持URL参数格式?提取码=xxx, ?pwd=xxx, ?password=xxx ?密码=xxx, ?key=xxx, ?访问码=xxx ?提取=xxx, ?pass=xxx, ?k=xxx, ?code=xxx中文格式【提取码:xxx】, 【密码:xxx】, 【访问码:xxx】 提取码:xxx, 密码:xxx英文格式pwd=xxx, password=xxx, key:xxx, code:xxx混合格式ps:密码xxx, 验证码>xxx2. 本地下载优化支持的压缩格式.zip, .rar, .7z, .tar, .gz, .bz2, .xz .tar.gz, .tar.bz2, .tar.xz, .tgz, .tbz2显示格式:本地下载-文件名3. 网盘支持扩展支持所有以"123"开头的网盘域名例如:123pan.com, 123865.com统一显示为"123网盘"按钮🎨 界面优化按钮显示规范网盘链接:网盘名称 提取码:xxx本地下载:本地下载-文件名保持链接原有文本作为文件名🛠 代码优化正则表达式增强提取码识别能力提升中英文标点符号支持分隔符处理优化颜色方案更新本地下载按钮:#222222123网盘按钮:#8b5cf6⚠️ 注意事项本地下载按钮仅对压缩文件格式生效提取码会自动从URL或文本中提取并显示重复的下载按钮不会被重复处理[1.3.0] - 2024-12-26权限控制与编辑器优化✨ 新增功能轮播图功能(后台-外观-自行设置)🔧 功能优化权限控制优化管理员可直接查看所有隐藏内容文章作者可直接查看自己文章的隐藏内容评论用户可永久查看该文章的隐藏内容编辑器增强添加右侧边栏快捷插入按钮支持选中文本快速添加隐藏标签优化按钮交互体验登录提示优化为未登录用户显示登录链接优化登录提示文案🐛 问题修复修复评论计数问题修复用户权限判断问题修复多个隐藏内容块显示问题[1.2.0] - 2024-12-06阅读体验与分享功能增强✨ 新增功能阅读进度条页面顶部显示文章阅读进度随滚动实时更新支持暗色模式社交分享功能支持分享到微博支持微信扫码分享(自动生成当前页面二维码)支持一键复制链接(带复制成功提示)文章目录功能自动生成文章目录支持多级目录结构目录随文章滚动自动高亮支持暗色模式固定在右侧边栏📁 文件变更jasmine/ ├── assets/ │ ├── css/ │ │ ├── post-enhance.css # 文章增强功能样式 │ │ └── download-btn.css # 下载按钮样式 │ └── js/ │ ├── post-enhance.js # 文章增强功能脚本 │ └── qrious.min.js # 二维码生成库 ├── component/ │ ├── post-enhance.php # 文章增强功能组件 │ └── post-toc.php # 文章目录组件 └── includes/ └── download-btn.php # 下载按钮转换功能📝 其他说明所有新增功能均保持与主题风格一致完整支持响应式设计完整支持暗色模式优化网盘链接识别逻辑使用纯前端方案生成二维码文章目录支持自动定位和滚动高亮安装方法:下载主题将主题文件夹重命名为 jasmine上传至网站的 /usr/themes/ 目录在 Typecho 后台启用主题5.伴生插件,WuweiPin置顶功能【先启用】6.伴生插件,WuWeisecret文章部分内容隐藏功能下载地址:👇[secret]jasmine二开主题,2025.1.15.第四弹.7zWuweisecret_2024.12.26.7zWuweiPin_2024.12.26.7z[/secret]
主题,Typecho 01-15
【原创】Typecho首页弹窗插件—WelcomePopup插件,理论上支持所有主题

【原创】Typecho首页弹窗插件—WelcomePopup插件,理论上支持所有主题

WelcomePopup 插件一个优雅的 Typecho 首页欢迎弹窗插件。演示图!功能特点仅在首页显示欢迎弹窗支持自定义弹窗标题和内容支持HTML标签内容可设置显示延迟时间提供"不再提醒"选项支持多种主题样式支持自定义主题颜色安装方法下载本插件将插件上传到 /usr/plugins/ 目录下文件夹名改为 WelcomePopup登录管理后台,在"插件管理"中启用配置说明基础设置弹窗标题: 设置弹窗顶部显示的标题文字弹窗内容: 设置弹窗主体的内容,支持HTML标签显示延迟: 设置页面加载完成后延迟多少毫秒显示弹窗(1000 = 1秒)记住选择: 访客点击"不再提醒"后,设置多少天内不再显示主题设置提供三种主题选择:浅色主题: 明亮风格深色主题: 暗黑风格自定义主题: 可自定义颜色自定义颜色当选择"自定义主题"时,可以设置以下颜色:背景色标题色内容色按钮色颜色值使用逗号分隔,例如:#ffffff,#333333,#666666,#4a4a4a使用示例// 修改弹窗内容示例 <h3>欢迎访问我的博客!</h3> <p>这是一个充满创意的空间</p> <ul> <li>分享技术</li> <li>记录生活</li> <li>交流想法</li> </ul>注意事项弹窗仅在首页显示访客点击"不再提醒"后,会在设定天数内保存状态使用自定义主题时,请确保填写正确的颜色代码格式更新日志v1.0.0首次发布实现基础弹窗功能支持主题切换添加记忆功能关于作者作者:吴畏的博客主页:https://8ww.fun反馈:如有问题请到博客留言下载地址:回复可见[secret]WelcomePopup.7z[/secret]
插件,Typecho 01-02
【原创】Typecho—自适应主题Jasmine二开—2024.12.26日功能更新(第三次)

【原创】Typecho—自适应主题Jasmine二开—2024.12.26日功能更新(第三次)

更新人吴畏的博客https://8ww.fun/原有功能请查看地址:点我查看第一次更新.2024.11.30请查看地址:点我查看第二次更新.2024.12.6请查看地址:点我查看第三次更新.2024.12.262024.12.26最新版本 1.0.1 的更新内容包括以下几个方面:新增功能1.轮播图(后台-外观-自行设置)修复优化权限控制优化:管理员现在可以直接查看所有隐藏内容文章作者可以直接查看自己文章的隐藏内容评论过的用户可以永久查看该文章的隐藏内容编辑器功能增强:添加了右侧边栏的快捷插入按钮支持选中文本快速添加隐藏标签优化了按钮的交互体验登录提示优化:为未登录用户显示登录链接优化了登录提示文案修复的问题:修复了评论计数的问题修复了用户权限判断的问题修复了多个隐藏内容块的显示问题这次更新主要集中在用户体验改进和 bug 修复上,特别是在权限控制和编辑器功能方面有较大改进。2024.12.6新增功能阅读进度条在页面顶部显示文章阅读进度随滚动实时更新支持暗色模式社交分享功能支持分享到微博支持微信扫码分享(自动生成当前页面二维码)支持一键复制链接(带复制成功提示)网盘链接自动转换自动识别文章中的网盘链接转换为美观的下载按钮支持以下网盘:国内网盘:百度网盘、蓝奏云、123网盘、阿里云盘、天翼云盘、夸克网盘、微云、115网盘、城通网盘、奶牛快传、坚果云、360云盘、迅雷云盘、小米云盘、和彩云、UC网盘、新浪微盘、文叔叔、TMP.link、比特球云盘、123网盘外链、比邻云盘、飞机盘国外网盘:MediaFire、MEGA、Dropbox、Google Drive、OneDrive、Mail.ru、Yandex.Disk、pCloud、Box代码仓库:GitHub、Gitee文章目录功能自动生成文章目录支持多级目录结构目录随文章滚动自动高亮支持暗色模式固定在右侧边栏新增文件jasmine/ ├── assets/ │ ├── css/ │ │ ├── post-enhance.css # 文章增强功能样式 │ │ └── download-btn.css # 下载按钮样式 │ └── js/ │ ├── post-enhance.js # 文章增强功能脚本 │ └── qrious.min.js # 二维码生成库 ├── component/ │ ├── post-enhance.php # 文章增强功能组件 │ └── post-toc.php # 文章目录组件 └── includes/ └── download-btn.php # 下载按钮转换功能修改位置post.php: 添加新功能引用和相关组件README.md: 更新功能说明sidebar.php: 添加文章目录组件改动说明所有新增功能均保持与主题风格一致完整支持响应式设计完整支持暗色模式优化了网盘链接识别逻辑使用纯前端方案生成二维码,无需后端支持文章目录支持自动定位和滚动高亮安装方法下载主题将主题文件夹重命名为 jasmine上传至网站的 /usr/themes/ 目录在 Typecho 后台启用主题5.伴生插件,WuweiPin置顶功能【先启用】6.伴生插件,WuWeisecret文章部分内容隐藏功能下次预计改动不知道,看心情和情况而定,大家也可以下面留言进行建议![secret]jasmine_2024.12.26.7zWuweisecret_2024.12.26.7zWuweiPin_2024.12.26.7z[/secret]
主题,Typecho 12-26
【原创】Typecho—自适应主题Jasmine二开—免费开源

【原创】Typecho—自适应主题Jasmine二开—免费开源

Jasmine 主题二次开发,改动说明新增功能及改进优化文章列表页样式优化右边栏样式及动效优化归档页面样式调整及美化新增版权信息融入主题新增上一篇/下一篇融入主题新增相关文章融入主题新增游客随机名字可评论新增评论区登录注册按钮新增评论区emoji标签按钮新增文章底部统计信息新增缩略图随机显示本地图优化文章内容也超链颜色调整优化响应式布局,优化响应速度其他改进代码结构优化错误处理增强文档完善兼容性提升注意事项保持与原版主题的兼容性遵循 Typecho 开发规范注意性能和加载速度保持代码的可维护性任何问题请来bolg.nanshunkj.com交流由吴畏的博客原创,转载请注明出处,感谢!演示地址演示地址[secret]Jasmine-WeiStyle.7z伴生插件【置顶】【部分内容隐藏】.7z[/secret]
主题,Typecho 11-30
代码高亮测试

代码高亮测试

PHP 代码示例fsffsfsf<?php class HelloWorld { private $message; public function __construct($message = 'Hello World!') { $this->message = $message; } public function sayHello() { return $this->message; } } // 创建实例并调用 $hello = new HelloWorld(); echo $hello->sayHello(); // 输出: Hello World!JavaScript 代码示例// ES6 类定义 class Person { constructor(name, age) { this.name = name; this.age = age; } sayHello() { return `Hi, I'm ${this.name}, ${this.age} years old.`; } } // Promise 示例 const fetchData = () => { return new Promise((resolve, reject) => { setTimeout(() => { const data = { id: 1, name: 'Test' }; Math.random() > 0.5 ? resolve(data) : reject('Error!'); }, 1000); }); } // Async/Await 使用 async function getData() { try { const result = await fetchData(); console.log(result); } catch (error) { console.error(error); } }Python 代码示例from typing import List, Optional import asyncio class DataProcessor: def __init__(self, data: List[int]): self.data = data async def process(self) -> Optional[List[int]]: if not self.data: return None # 模拟异步处理 await asyncio.sleep(1) return sorted(self.data) @staticmethod def filter_positive(numbers: List[int]) -> List[int]: return [n for n in numbers if n > 0] # 使用示例 async def main(): processor = DataProcessor([3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]) result = await processor.process() filtered = DataProcessor.filter_positive(result) print(f"Processed data: {filtered}") if __name__ == "__main__": asyncio.run(main())SQL 代码示例-- 创建用户表 CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL UNIQUE, email VARCHAR(100) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- 插入数据 INSERT INTO users (username, email) VALUES ('john_doe', 'john@example.com'), ('jane_doe', 'jane@example.com'); -- 复杂查询示例 SELECT u.username, COUNT(p.id) as post_count, MAX(p.created_at) as last_post_date FROM users u LEFT JOIN posts p ON u.id = p.user_id WHERE u.created_at >= DATE_SUB(NOW(), INTERVAL 1 MONTH) GROUP BY u.id HAVING post_count > 0 ORDER BY post_count DESC LIMIT 10;HTML/CSS 代码示例<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>样式测试</title> <style> .container { display: flex; justify-content: center; align-items: center; min-height: 100vh; background: linear-gradient(45deg, #ff6b6b, #4ecdc4); } .card { padding: 2rem; border-radius: 1rem; background: rgba(255, 255, 255, 0.9); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); backdrop-filter: blur(10px); transition: transform 0.3s ease; } .card:hover { transform: translateY(-5px); } @media (max-width: 768px) { .card { margin: 1rem; padding: 1rem; } } </style> </head> <body> <div class="container"> <div class="card"> <h1>Hello, World!</h1> <p>这是一个样式测试。</p> </div> </div> </body> </html>Shell 脚本示例#!/bin/bash # 定义颜色 RED='\033[0;31m' GREEN='\033[0;32m' NC='\033[0m' # No Color # 函数定义 function check_status() { if [ $? -eq 0 ]; then echo -e "${GREEN}Success${NC}" else echo -e "${RED}Failed${NC}" exit 1 fi } # 主要逻辑 echo "Starting deployment..." # 更新代码 git pull origin main check_status # 安装依赖 npm install check_status # 构建项目 npm run build check_status echo "Deployment completed successfully!"
Typecho 11-30
Typecho编辑器插件—WindsCkEditor—最好用的编辑器插件

Typecho编辑器插件—WindsCkEditor—最好用的编辑器插件

源码介绍Typecho 自带的编辑器功能较为简洁,使用体验欠佳。许多用户都曾尝试过各种编辑器插件,但效果往往不尽如人意。经过一番探索,我们终于找到了一款比较理想的解决方案:WindsCkEditor。WindsCkEditor 是一款兼容 Typecho 1.2 的编辑器插件,集成了最新的 CkEditor 4.21 版本,具备以下优势: 功能强大: 支持代码插入、图片和附件上传(使用系统集成的附件上传功能),并可直接将原有附件添加到编辑器中。 易于管理: 建议使用系统自带的附件管理功能,避免编辑器上传的附件难以管理。 高度可定制: 支持自定义工具栏,并可通过在线配置工具轻松调整配置项。 持续更新: 您可以自行升级 CkEditor 版本,以获得最新的功能和修复。 版本更新: v1.0.1: 新增自定义按钮插件 more,可在源代码模式下插入 <!--more--> 标签。 v1.0.2: 精简语言包(仅保留中英文),并将实例名称修改为 windsCkEditor,以避免与其他编辑器冲突。 安装与配置: 下载并安装: 将插件文件夹重命名为 WindsCkEditor,并放置于 usr/plugins/ 目录下。 激活插件: 登录 Typecho 后台,在插件管理页面激活 WindsCkEditor。 自定义配置: 您可以在 WindsCkEditor/ckeditor/config.js 文件中修改默认配置。 访问 WindsCkEditor/ckeditor/samples/toolbarconfigurator/index.html 在线配置工具栏。 默认配置: { language : "zh-cn", width: 'auto', height: 350, }您可以根据需要修改 Plugin.php 文件中的默认配置。使用体验:WindsCkEditor 插件为 Typecho 用户提供了一个功能更强大、更易用的编辑器选择,有效提升内容创作效率。如果您正在寻找一款 Typecho 编辑器插件,不妨试试 WindsCkEditor![secret]https://www.123865.com/s/7zXJjv-sPs23[/secret]
插件,Typecho 11-18
【原创】Typecho文章内容隐藏插件——支持隐藏文字、图片、附件等内容,登录评论后即可查看

【原创】Typecho文章内容隐藏插件——支持隐藏文字、图片、附件等内容,登录评论后即可查看

演示图Wuweisecret Plugin更新2024.12.26原创 Typecho 文章内容隐藏插件,支持隐藏文字、图片、附件等内容,登录评论后即可查看。功能特点支持隐藏任意内容(文字、图片、附件、链接等)管理员和文章作者可直接查看隐藏内容评论过的用户永久可见该文章的隐藏内容自定义提示文本优雅的显示动画效果支持设置所需评论次数支持内容预览功能显示评论进度条自定义样式支持响应式设计编辑器快捷插入按钮使用方法下载插件,将插件上传到 /usr/plugins 目录下后台启用插件在文章编辑时可以:使用编辑器右侧的"插入隐藏内容"按钮或手动输入短代码: [ secret ] 这里是隐藏的内容[ /secret ]使用示例这是普通文本[ secret ]这是隐藏的文字内容这是隐藏的图片:!图片描述这是隐藏的附件:下载文件[ /secret ]这又是普通文本最新更新版本 1.0.1权限控制优化管理员现在可以直接查看所有隐藏内容文章作者可以直接查看自己文章的隐藏内容评论过的用户可以永久查看该文章的隐藏内容编辑器功能添加了右侧边栏的快捷插入按钮支持选中文本快速添加隐藏标签优化了按钮的交互体验登录提示优化为未登录用户显示登录链接优化了登录提示文案修复的问题修复了评论计数的问题修复了用户权限判断的问题修复了多个隐藏内容块的显示问题配置说明基础配置提示文本设置隐藏内容的提示语默认:此内容需要评论后才能查看哦 (^▽^)评论要求设置查看内容所需的评论次数默认:1次评论动画效果淡入淡出滑动显示无动画高级配置内容预览开启后显示隐藏内容的前30个字符帮助用户判断内容价值自定义样式可以添加自定义CSS代码完全控制显示效果常见问题Q: 评论后无法查看内容?A: 检查评论是否已审核,以及评论次数是否达标Q: 如何修改样式?A: 在插件设置中添加自定义CSS,或修改 style.cssQ: 支持多个隐藏块吗?A: 支持,可在同一文章使用多个[ secret ] 标签Q: 管理员看不到隐藏内容?A: 请确保您是使用管理员账号登录的状态更新计划[x] 添加用户组权限控制[x] 添加编辑器按钮[ ] 支持更多动画效果[ ] 支持更多自定义选项技术支持如遇问题,请通过以下方式获取帮助:访问作者博客:https://8ww.fun在 GitHub 提交 Issue通过邮件联系作者致谢感谢所有提供建议和反馈的用户。赞助支持如果您觉得这个插件对您有帮助,欢迎赞助支持开发者:微信:CQDY59888您的支持是我持续更新的动力!附件下载[secret]Wuweisecret.zip 更新时间为2024.12.26[/secret]
插件,Typecho 11-18
【持续收集中】免费的Typecho的主题—11款—更新时间2024.11.18

【持续收集中】免费的Typecho的主题—11款—更新时间2024.11.18

主题1介绍:Promise 一款Typecho自适应主题主题2介绍:PureLoveFor 一款Typecho 博客类主题主题3介绍:Jasmine 一款 Typecho 博客类主题主题4介绍:Typecho-Theme-Aria 自适应类主题主题5介绍:Fantasy Theme 博客类主题主题6介绍:Typecho-Writing 极简主题主题7介绍:Theme by Xaink 仿百度主题主题8介绍:Typecho Bootstrap Theme 极简主题主题9介绍:MyStory Typecho 图片组合主题主题10介绍:Typecho 高仿掘金主题主题10介绍:EasyBe Typecho 极简主题直链地址:[secret]Promise Typecho:https://yyjn.org/toss-record/feather-Promise-Typecho-theme.htmlPureLoveFor Typecho :https://gitee.com/hoexhe/PureLoveForTypechoJasmine Typecho :https://gitee.com/imvn/JasmineTypecho-Theme-Aria :https://github.com/Siphils/Typecho-Theme-AriaFantasy Theme:https://github.com/Seevil/fantasyTypecho极简主题(Writing):https://yayu.net/projects/typecho-writingTheme by Xaink:https://github.com/awinds/xainkTypecho Bootstrap Theme:https://gitee.com/shrekuu/typecho-bootstrap-themeMyStory Typecho:https://gitee.com/beijinglogic/MyStoryTypecho 主题-《高仿掘金》:https://gitee.com/mulingyuer/Typecho_Theme_JJEasyBe Typecho:https://gitee.com/wangyang1314/EasyBe[/secret]更新于2024.11.18整理人:吴畏
主题,Typecho 11-18
Typecho 插件作品目录,不断更新中。2024.11.14

Typecho 插件作品目录,不断更新中。2024.11.14

本次更新时间:2024.11.14以下内容转载自—Github 名称 简介 版本 作者 zip包 AMP 生成AMP/MIP移动标准页面插件 0.7.6.1 Holmesian 福尔摩斯 Download 下载 AjaxComments Ajax评论 嵌套评论Ajax异步提交效果插件 1.2.0 Byends, Willin Kan 拜恩斯,阚薇琳 Download 下载 AbbrSlug 多种算法生成数字文章缩略名插件 1.0.0 羽叶 Download 下载 AllowIp 允许 Ip Typecho可访问后台IP白名单插件 1.0.1 Fuzqing 福青 Download 下载 Announcement 公告 仿Emlog博客悬浮式公告栏插件 1.0.0 skylzl 斯凯兹尔 Download 下载 Another-Like 另一个类似 基于Like动画美化点赞按钮插件 1.0.0 idealclover 理想三叶草 Download 下载 AntiSpam 防垃圾邮件 经典反垃圾评论机器人陷阱插件 1.0.3 Willin Kan 阚威林 Download 下载 AppStore 应用商店 Go脚本服务端搭配应用商店插件 2.0.0 chekun 车昆 N/A 不适用 ArticleList 文章列表 热评/随机文章列表插件(可缓存) 1.1.1 DEFE Special 特殊 ArticleTemplate ArticleTemplate (文章模板) Typecho定制文章类型字段插件 1.0.0 benzBrake 奔驰制动器 Download 下载 At 在 @链接评论回复与邮件提醒插件 0.1.1 公子 Download 下载 Attachment 附件 附件下载美化计数(搭配Stat)插件 1.0.2 羽中, Hanny Download 下载 AudioPlayer 音频播放器 可定制配色伸缩音乐播放器插件 1.2.6 羽中 Download 下载 AutoBackup 自动备份 数据库定时备份至邮箱插件 1.3.2 泽泽 Download 下载 AutoLaTeX LaTeX公式两种模式自动渲染插件 0.1.0 bLue 蓝 Download 下载 AutoSlug AutoSlug 系列 文章缩略名用翻译API生成插件 2.1.1 ShingChi ShingChi (上海) Download 下载 AutoTags 自动标记 文章内容解析自动生成标签插件 1.0.0 DT27 Download 下载 Avatars 化身 评论头像墙排行插件(支持缓存) 1.2.5 羽中 Download 下载 BackToTop 返回页首 三款萌娘点击返回顶部按钮插件 1.0 夏目贵志 Download 下载 CatClaw 猫爪 影视[一]二号模板免登录采集插件 1.8.1 jrotty 杰罗蒂 Download 下载 CateFilter 卡特过滤器 首页过滤指定分类文章隐藏插件 1.2.4 Rakiy 拉基 Download 下载 ChangyanCallback 畅言回调 搜狐畅言社会化评论回推用插件 1.0.0 mrgeneral 将军先生 Download 下载 changyandandian 是畅岩丹迪 搜狐畅言单点登录插件 1.0.0 泽泽社长 Download 下载 Ckeditor4Typecho CKEditor4所见即所得编辑器插件 1.0.0 zhulin3141 竹林3141 Download 下载 CodeMirror 代码镜像 主题外观编辑器内代码高亮插件 1.0.0 zhulin3141 竹林3141 Download 下载 CodeStyle 代码样式 HighlightJs高亮插件(MD带行号) 0.8.0 hongweipeng 洪伟鹏 Download 下载 CommentFilter CommentFilter (注释过滤器) 评论昵称/链接/内容/IP过滤插件 1.2.1 jrotty,ghostry,Hanny jrotty,鬼魂,Hanny Download 下载 CommentPush 评论推送微信QQ钉钉邮箱插件 1.7.1 gaobinzhan,奥秘Sir 高宾战,神秘的 Sir Download 下载 CommentToMail 发布回复评论邮件自动提醒插件 2.0.1 Byends, DEFE Byends, DEFE Download 下载 CommentNotifier 如何通知 评论邮件提醒插件要求Typecho1.2.0版本及以上 1.4.3 泽泽社长 Download 下载 ContentIndex 内容索引 自动生成美化版文章目录树插件 1.0.0 laobubu 老步步 Download 下载 Contribute 贡献 前台免注册投稿及审查发布插件 1.0.0 ShingChi ShingChi (上海) Special 特殊 CosForTypecho Typecho用腾讯云COS存储插件 1.0.1 Charmeryl 查梅丽尔 Download 下载 CSDN 将CSDN博文迁移至Typecho插件 1.0.0 MDY Download 下载 CustomRSS 自定义 RSS Typecho生成rss.xml的RSS订阅 1.0.1 蓝河 Download 下载 DbManager Mysql数据库导入导出优化插件 2.0.1 ShingChi ShingChi (上海) Download 下载 DevTool 开发工具 扩展开发常用数据查看测试插件 1.0.0 zhulin3141 竹林3141 Download 下载 DownloadFile 下载文件 附件下载与上传名保持一致插件 1.0.0 DT27 Download 下载 DynamicLines DynamicLines 系列 (娱乐向)动态蛛网背景效果插件 1.0.0 Mario 马里奥 Download 下载 Editor 编辑 器 简明清爽Markdown编辑器插件 1.0.2 公子 Download 下载 EditorMD 编辑MD 豪华全能Markdown编辑器插件 1.4.0 DT27 Download 下载 EmlogToTypecho Emlog数据库导入到Typecho插件 1.0.0 ShingChi ShingChi (上海) Download 下载 GAuthenticator Google两步验证插件(带二维码) 0.0.6 WeiCN WeiCN 公司 Download 下载 GHbutton GH按钮 GitHub项目或用户功能按钮插件 1.0.4 羽中 Download 下载 GeeTest GeeTest 测试 经典极验证拖拽评论验证码插件 1.0.1 啸傲居士 Download 下载 GithubCard GithubCard 卡 GitHub项目或用户卡片挂件插件 1.0.0 chekun 车昆 Download 下载 GithubWidgetUser GithubWidget用户 GitHub用户名片式展示挂件插件 0.2.0 hongweipeng 洪伟鹏 Download 下载 GoLinks GoLinks 链接 自定义外链转换为内链跳转插件 0.3.0 DEFE Download 下载 GoodLuck 好运 手气不错链接跳转随机文章插件 1.0.2 Ryan 莱恩 Download 下载 GoogleAnalytics 谷歌分析 异步加载版Google Analytics插件 1.0.0 WeiCN WeiCN 公司 Download 下载 GoogleCodePrettify 谷歌代码美化 谷歌Prettify代码高亮插件(MD版) 2.0.0 公子 Download 下载 GravatarCache Gravatar头像自动本地缓存插件 2.0.2 Byends 旁路 Special 特殊 Hermit 隐士 虾米音乐SM2列表型播放器插件 1.3.1 mufeng 牟峰 Download 下载 HighlightSearchKeywords 高亮外部或站内搜索关键字插件 0.1.3 羽中, gouki Download 下载 HighSlide 高滑梯 自定义图片弹窗+页面相册插件 1.4.7 羽中 Download 下载 Html2Text HTML2文本 Html代码转Markdown格式插件 0.1.0 冰剑 Download 下载 IQapTcha 评论滑动解锁验证与过滤插件 1.1.2 Byends 旁路 Download 下载 JSON 以Json格式输出博客数据API插件 1.1 姬长信,SangSir,公子 Download 下载 JWPlayer JWPlayer 播放器 Html5流媒体播放器Jwplayer插件 1.0.9 羽中 Download 下载 JustFeed 文章Feed尾部添加定制信息插件 0.1.2 eallion, jKey eallion, jKey Download 下载 Keywords 关键字 文章指定关键词自动加链接插件 1.0.9 羽中 Download 下载 LREditor Markdown编辑器左右预览插件 0.0.4 公子 Download 下载 Like 喜欢 Typecho文章点赞排行统计插件 1.0.1 skylzl 斯凯兹尔 Download 下载 Links 链接 Typecho友情链接数据管理插件 1.2.3 懵仙兔兔, Hanny Download 下载 LoginDesigner 登录设计师 Typecho注册/登录界面美化插件 1.3.0 泽泽社长 Download 下载 LoveKKComment 评论邮件通知与密码找回插件 1.0.6 康粑粑 Download 下载 LoveKKWeiBo 爱KKWeiBo 用新浪微博作附件上传图床插件 1.0.1 康粑粑 Download 下载 MagikeEditor 魔吉客编辑器 Magike移植Html源码编辑器插件 1.1.1 羽中, Hanny Download 下载 MarkdownParse Markdown解析 Markdown解析(CommonMark+GFM+MathJax+Mermaid+目录) Markdown解析(CommonMark+GFM+MathJax+Mermaid+目录) 2.0.0 mrgeneral 将军先生 Download 下载 Memos 备忘录 Memos列表读取插件 0.1.0 fengqi 风骐 Download 下载 MenuTree 菜单树 代码嵌入式文章内容目录树插件 0.1.2 BeaconFire,Melon BeaconFire,Melon Download 下载 MenuTree 菜单树 右侧悬浮式文章内容目录树插件 0.8.1 hongweipeng 洪伟鹏 Download 下载 MostCache Mysql/SAE下Memcache缓存插件 1.1.1 skylzl,WeiCN skylzl,WeiCN Download 下载 MyPlayer 我的播放器 万能播放器视频站链接转换插件 1.1.3 perichr 佩里赫 Download 下载 MyTagCloud 我的标签云 Typecho自定义标签云效果插件 1.0.0 Ma Yanlong 但燕龙 Download 下载 NavMenu 导航菜单 Typecho自定义插件 1.1.1 Ryan,merdan Ryan, 梅尔丹 Download 下载 Ncache Ncache的 Nginx开启fastcgi_cache缓存插件 1.1 WeiCN WeiCN 公司 Special 特殊 OssForTypecho 阿里云OSS插件(流上传+缩略图) 1.0.2 权那他, Charmeryl Download 下载 Passport 护照 注册用户密码邮件找回功能插件 1.0.1 胖蒜网,ShingChi Download 下载 PasteImage 粘贴图像 编辑器粘贴图片时自动上传插件 1.0.0 qing 青 Download 下载 PostsCategoryChange 帖子类别更改 Typecho文章修改分类/状态插件 0.0.4 Fuzqing 福青 Download 下载 PostRating 后评分 Typecho文章星级评分管理插件 1.1.0 wuwovr, Willin Kan wuwovr, 阚阇 Download 下载 Prism 棱镜 经典Prism代码高亮插件(MD版) 1.0.2 冰剑 Download 下载 QNUpload 经典版(PHP5.2-5.6)七牛附件插件 1.3.1 rakiy 拉基 Download 下载 QiniuFile Qiniu文件 新七牛附件插件(自定路径+截图) 1.3.3 LiCxi, 冰剑, abelyao LiCxi, 冰剑, abelyao Download 下载 RandomThumbnail RandomThumbnail (随机缩略图) 随机图片挂件插件(自定义模板) 2.0.0 LittleJake 小杰克 Download 下载 Reposidget GitHub项目信息与内容展示插件 1.0.0 西秦公子 Download 下载 RewriteRule 重写规则 文章或页面地址重定向跳转插件 1.0.0 laobubu 老步步 Download 下载 Rdog 注册机制优化/发文自动审核插件 1.6.0 泽泽 Download 下载 RoutesHelper 路由助手 Typecho路由信息显示修改插件 1.0.3 doudou 唐 Download 下载 SCS 系统附件用新浪云存储SCS插件 1.1.1 vfhky Download 下载 Sinauth 西诺特 新浪用户授权注册帐号登录插件 1.0.0 Beta 1.0.0 测试版 jimmy chaw 周志明 Download 下载 Sitemap 网站地图 动态生成Xml标准网站地图插件 1.0.5 迷你日志, Hanny Download 下载 SlantedExtend 倾斜延伸 Slanted主题专用自定义字段插件 1.0.0 DT27 Special 特殊 SlimBox2 超薄盒子2 轻量级jQuery图片灯箱弹窗插件 1.0.7 Ryan, 冰剑 Download 下载 Smilies 笑脸 Typecho定制图片表情功能插件 1.1.3 羽中, Willin Kan 羽中, Willin Kan Download 下载 Snowstorm 暴风雪 (娱乐向)动态飘雪背景效果插件 1.0.1 阳光 Download 下载 Soso 索索 Typecho搜索过滤/限制/增强插件 1.2.2 泽泽社长 Download 下载 SplitArchivePage 拆分存档页面 Typecho文章应用分页效果插件 0.1.7 Noisky & gouki Download 下载 Stat 统计 文章浏览数排行插件(支持附件) 1.0.4 羽中, Jozhn, Hanny 羽中, Jozhn, Hanny Download 下载 Sticky 粘 Typecho首页/分类文章置顶插件 1.0.1 Ryan, Willin Kan 阚瑞安 Download 下载 Subscriber 订户 指定文章/内容登录会员可见插件 1.0.0beta 1.0.0 测试版 羽中 Download 下载 SyncPost 同步发布 新浪腾讯微博豆瓣更新推送插件 1.0.0 冰剑 N/A 不适用 TEReplace 特雷普斯 SQL替换指定内容标题字段插件 1.3.0 泽泽 Download 下载 TeKit 模板用文章或评论数据输出插件 2.0.0 冰剑 Download 下载 tagshelper tags帮助程序 发布文章列出已用标签供点选插件 1.1 泽泽社长 Download 下载 TeStore TeStore 商店 GitHub表格解析版插件仓库插件 1.1.5 羽中, zhulin3141 羽中, zhulin3141 Download 下载 ThemeDemo 主题演示 双模式导航条主题外观演示插件 1.2.1 ShingChi, doudou Shingchi, Daudou (沙辛池, 道杜) Download 下载 Tinyfader Typecho简易首页图片轮播插件 1.0.0 Willin Kan 阚威林 Download 下载 Titleshow 标题show Typecho加密文章显示标题插件 1.1.3 泽泽 Download 下载 TopTop 顶部 卡通吊绳点击返回顶部按钮插件 1.0.0 Heeeepin 嘻嘻 Download 下载 Typembed Typembed 字体 常见视频站链接转为播放器插件 1.3.0 Fengzi 丰子 Download 下载 Ueditor 编辑器 百度贴吧可视编辑器Ueditor插件 1.0.0 zhulin3141 竹林3141 Download 下载 Ugauka 乌高卡 (娱乐向)二次元伪春菜挂件插件 1.0.0 Kunr 昆尔 Download 下载 Update 更新 Typecho一键升级至开发版插件 0.0.3 公子 Download 下载 UpdateAssistant 自动升级系统为正式/开发版插件 1.0.1 mrgeneral 将军先生 Download 下载 UploadPlugin 上传插件 上传zip自动安装插件/主题插件 1.1.3 DEFE Download 下载 UpyunFile Upyun文件 Typecho附件用又拍云存储插件 1.0.4 SSpirits,Ryan,codesee SSpirits,Ryan,codesee Download 下载 UserSign 用户签到 为博客用户添加个性签名档插件 0.0.1 hmoe Special 特殊 Version 版本 文章页面可恢复多历史版本插件 1.3 innc11 INNC11 餐厅 Download 下载 Views 视图 Typecho文章浏览计数排行插件 1.0.1 Willin Kan 阚威林 Download 下载 Watermark 水印 文章图片自动添加定制水印插件 1.2.0 DEFE Download 下载 WeChatHelper 微信助手 微信公众号功能自定义集成插件 2.2.1 冰剑 Download 下载 WeChatShare 微信分享 定制文章微信/QQ分享链接插件 1.0.6 Fuzqing 福青 Download 下载 WeiboSync 微博同步 博客文章更新推送新浪微博插件 1.0.0 vfhky Special 特殊 XiaMiPlayer 夏米播放器 虾米音乐jPlayer极简播放器插件 3.1.4 公子 Download 下载 YoduBGM 尤杜BGM 迷你按钮型BGM音乐播放器插件 1.7.0 Jrotty Download 下载 YoduPlayer Yodu播放器 悬浮式音乐播放器插件(支持Pjax) 2.4.6 Jrotty Download 下载 Zan 赞 自定义字段输出文章点赞数插件 1.0.0 冰剑 Download 下载 alexarank 亚历克萨兰克 在主题模板中输出Alexa排名插件 1.0 Jrotty Download 下载 reCAPTCHA reCAPTCHA 验证码 谷歌reCAPTCHA点击验证码插件 0.0.1 啸傲居士 Download 下载 reCAPTCHAv3 reCAPTCHAv3 认证 基于reCAPTCHAv3版验证码插件 0.0.2 D-Bood D-布德  
插件,Typecho 11-14
Typecho插件开发手册

Typecho插件开发手册

插件的基本结构在 Typecho 中,插件通常是一个独立的 PHP 文件,默认放置在usr/plugins/目录下。插件文件名即为插件名,插件类名也应与文件名相同。插件必须实现 Typecho_Plugin_Interface 接口。 基本结构: <?php if (!defined('__TYPECHO_ROOT_DIR__')) exit; /** * 插件的描述信息 * * @package PluginName */ class PluginName_Plugin implements Typecho_Plugin_Interface { // 插件激活方法 public static function activate() {} // 插件停用方法 public static function deactivate() {} // 插件配置面板 public static function config(Typecho_Widget_Helper_Form $form) {} // 个人用户的配置面板 public static function personalConfig(Typecho_Widget_Helper_Form $form) {} // 实现的插件功能方法 // ... }说明: Typecho_Plugin_Interface:插件类必须实现该接口,包含 activate、deactivate、config、personalConfig 四个方法。 activate:插件激活时调用,用于注册插件方法、初始化数据等。 deactivate:插件停用时调用,用于清理数据、注销插件方法等。 config:插件的配置界面,用于在后台展示插件的设置选项。 personalConfig:针对个人用户的配置界面。 激活插件在 activate 方法中,可以进行以下操作: 注册插件方法:使用 Typecho_Plugin::factory 注册插件的方法到指定的 Hook Point。 创建数据库表:如果插件需要额外的数据表,可以在激活时创建。 初始化数据:初始化插件所需的数据或配置。 public static function activate() { // 注册插件方法到 Hook Point Typecho_Plugin::factory('Widget_Archive')->beforeRender = array('PluginName_Plugin', 'beforeRender'); // 返回激活成功的信息 return _t('插件已激活'); } 停用插件在 deactivate 方法中,可以进行以下操作: 注销插件方法:清理注册的插件方法(Typecho 会自动处理)。 删除数据库表:如果插件创建了额外的数据表,可以选择在停用时删除。 清理数据:清理插件的配置信息或缓存。 定义插件的配置界面在 config 方法中定义插件的配置选项。 public static function config(Typecho_Widget_Helper_Form $form) { // 添加一个文本框 $text = new Typecho_Widget_Helper_Form_Element_Text('text', NULL, '默认值', _t('文本框标签'), _t('文本框提示')); $form->addInput($text); // 添加一个单选框 $radio = new Typecho_Widget_Helper_Form_Element_Radio('radio', array('1' => '选项1', '2' => '选项2'), '1', _t('单选框标签')); $form->addInput($radio); // 添加一个复选框 $checkbox = new Typecho_Widget_Helper_Form_Element_Checkbox('checkbox', array('1' => '选项1', '2' => '选项2'), NULL, _t('复选框标签')); $form->addInput($checkbox); }说明: 使用 Typecho_Widget_Helper_Form_Element_* 类来创建不同类型的表单元素。 调用 $form->addInput() 方法将元素添加到配置界面。 处理插件的用户配置在插件的方法中,可以通过 Helper::options()->plugin('PluginName') 获取用户的配置信息。 public static function someMethod() { $options = Helper::options()->plugin('PluginName'); $textValue = $options->text; // 获取文本框的值 // ... }说明: Helper::options():获取全局的配置对象。 plugin('PluginName'):获取指定插件的配置信息。 注册插件方法(Hook Point)在 activate 方法中,使用 Typecho_Plugin::factory 注册插件的方法到指定的 Hook Point。 public static function activate() { Typecho_Plugin::factory('Widget_Archive')->beforeRender = array('PluginName_Plugin', 'beforeRender'); }说明: 具体插入点可以参考文章后半段,有专门介绍各插入点的作用及位置 Typecho_Plugin::factory('类名')->方法名:指定要拦截的类和方法(Hook Point)。 array('PluginName_Plugin', '方法名'):插件的方法回调。 定义自定义路由如果插件需要自定义 URL 路由,可以在 activate 方法中定义。 public static function activate() { // 添加自定义路由 Helper::addRoute('plugin_route', '/plugin/route/', 'PluginName_Action', 'actionMethod'); } public static function deactivate() { // 删除自定义路由 Helper::removeRoute('plugin_route'); }Helper::addRoute:添加自定义路由。 第一个参数:路由名称。 第二个参数:路由规则(URL 模式)。 第三个参数:处理该路由的类名。 第四个参数:处理方法。 Helper::removeRoute:删除自定义路由。加载插件的类和方法如果插件包含多个类或文件,可以通过 require_once 或自动加载的方式引入。 // 在插件的主文件中 require_once 'libs/Helper.php'; // 使用命名空间和自动加载 spl_autoload_register(function ($class) { $prefix = 'PluginName\\'; $base_dir = __DIR__ . '/src/'; $len = strlen($prefix); if (strncmp($prefix, $class, $len) !== 0) { return; } $relative_class = substr($class, $len); $file = $base_dir . str_replace('\\', '/', $relative_class) . '.php'; if (file_exists($file)) { require $file; } }); require_once:直接引入文件。 spl_autoload_register:注册自动加载函数,按照命名空间和目录结构自动加载类。 文件载入与资源管理插件可能需要加载 CSS、JS 文件或其他资源,可以通过以下方式实现。在模板中加载资源: // 在插件的方法中 public static function header() { $cssUrl = Helper::options()->pluginUrl . '/PluginName/assets/style.css'; echo '<link rel="stylesheet" type="text/css" href="' . $cssUrl . '">'; } public static function footer() { $jsUrl = Helper::options()->pluginUrl . '/PluginName/assets/script.js'; echo '<script type="text/javascript" src="' . $jsUrl . '"></script>'; }注册到 Hook Point: public static function activate() { Typecho_Plugin::factory('Widget_Archive')->header = array('PluginName_Plugin', 'header'); Typecho_Plugin::factory('Widget_Archive')->footer = array('PluginName_Plugin', 'footer'); } Helper::options()->pluginUrl:获取插件目录的 URL。 header、footer:在页面的头部和尾部输出内容。 模板的使用与扩展插件可以自定义模板,或者扩展主题的模板功能。在插件目录中创建模板文件: 创建 themes 目录:在插件目录下创建 themes 目录,用于存放模板文件。 编写模板文件:例如,创建 themes/plugin-template.php。 在插件中调用模板: public static function renderTemplate() { $template = __DIR__ . '/themes/plugin-template.php'; if (file_exists($template)) { include $template; } else { echo '模板文件不存在'; } }在路由处理方法中调用: public function actionMethod() { self::renderTemplate(); }完整的插件示例 usr/ └── plugins/ └── HelloWorld/ ├── HelloWorld_Plugin.php ├── Action.php ├── assets/ │ ├── style.css │ └── script.js └── themes/ └── hello.php 钩子(Hook)插入点 在 Typecho 插件开发中,可以通过 Typecho_Plugin::factory('类名')->方法名 的形式来拦截和扩展 Typecho 的核心功能。以下是所有可用的插入位置(Hook Points),按照类名分类,并注明调用的位置及意义。 插入位置的定义方式 插入位置通常是通过以下几种方式定义的: 方法(Method): 在 Typecho 的核心类中,某些方法被定义为插入位置。例如,Widget_Contents_Post_Edit 类中的 insert 方法就是一个插入位置。 插件可以通过 Typecho_Plugin::factory('Widget_Contents_Post_Edit')->insert 来拦截这个方法,并在其中执行自定义代码。 属性(Property): 在 Typecho 的核心类中,某些属性被定义为插入位置。例如,Widget_Contents_Post_Edit 类中的 insert 属性就是一个插入位置。 插件可以通过 Typecho_Plugin::factory('Widget_Contents_Post_Edit')->insert 来拦截这个属性,并在其中执行自定义代码。 示例 假设我们有一个 Widget_Contents_Post_Edit 类,其中定义了一个 insert 方法: class Widget_Contents_Post_Edit extends Typecho_Widget { public function insert() { // 插入文章的逻辑 } } 在插件中,我们可以通过以下方式拦截这个 insert 方法: class XXX_Plugin implements Typecho_Plugin_Interface { public static function activate() { Typecho_Plugin::factory('Widget_Contents_Post_Edit')->insert = array('XXX_Plugin', 'publish'); } public static function publish($post) { // 自定义的插入逻辑 } } 在这个例子中,XXX_Plugin 插件在 Widget_Contents_Post_Edit 类的 insert 方法执行时,会调用 XXX_Plugin::publish 方法来执行自定义的插入逻辑 常见Hooks整理 1. Widget_Contents_Post_Edit insert:在插入文章时触发。 update:在更新文章时触发。 delete:在删除文章时触发。 finishPublish:在文章发布完成后触发。 2. Widget_Contents_Page_Edit insert:在插入页面时触发。 update:在更新页面时触发。 delete:在删除页面时触发。 finishPublish:在页面发布完成后触发。 3. Widget_Comments_Edit insert:在插入评论时触发。 update:在更新评论时触发。 delete:在删除评论时触发。 finishComment:在评论操作完成后触发。 finishDelete:在评论删除后触发。 4. Widget_Users_Edit insert:在创建用户时触发。 update:在更新用户信息时触发。 delete:在删除用户时触发。 finishCreate:在用户创建完成后触发。 finishDelete:在用户删除后触发。 5. Widget_Metas_Category_Edit insert:在创建分类时触发。 update:在更新分类信息时触发。 delete:在删除分类时触发。 finishCreate:在分类创建完成后触发。 6. Widget_Metas_Tag_Edit insert:在创建标签时触发。 update:在更新标签信息时触发。 delete:在删除标签时触发。 finishCreate:在标签创建完成后触发。 7. Widget_Feedback comment:在用户提交评论时触发。 trackback:在接收Trackback时触发。 8. Widget_Register register:在用户注册时触发。 9. Widget_Login loginSucceed:在用户登录成功后触发。 loginFail:在用户登录失败后触发。 10. Widget_Archive beforeRender:在渲染文章内容之前触发。 afterRender:在渲染文章内容之后触发。 beforeOutput:在输出文章内容之前触发。 afterOutput:在输出文章内容之后触发。 handleInit:在 Archive Widget 初始化时触发。 select:在构建内容查询时触发。 11. Widget_Comments beforeRender:在渲染评论列表之前触发。 afterRender:在渲染评论列表之后触发。 12. Widget_Abstract_Contents contentEx:在获取文章完整内容时触发。 excerptEx:在获取文章摘要内容时触发。 filter:在获取内容列表时触发。 13. Widget_Abstract_Comments contentEx:在获取评论内容时触发。 excerptEx:在获取评论摘要时触发。 filter:在获取评论列表时触发。 14. Widget_Abstract_Metas filter:在获取分类或标签列表时触发。 15. Widget_Abstract_Users filter:在获取用户列表时触发。 16. Widget_Abstract_Options filter:在获取系统选项时触发。 17. Widget_Abstract beforeRender:在任何 Widget 渲染之前触发。 afterRender:在任何 Widget 渲染之后触发。 ___construct:在 Widget 初始化时触发。 ___init:在 Widget 初始化完成后触发。 ___execute:在执行 Widget 主逻辑时触发。 18. Typecho_Widget widget:在创建 Widget 实例时触发。 widgetStart:在 Widget 开始执行时触发。 widgetEnd:在 Widget 执行结束时触发。 19. Typecho_Widget_Helper_Form render:在渲染表单之前触发。 20. Typecho_Widget_Helper_Form_Element render:在渲染表单元素之前触发。 21. Typecho_Db query:在执行数据库查询时触发。 fetchAll:在获取查询结果时触发。 22. Typecho_Router router:在路由解析时触发。 dispatch:在路由调度时触发。 23. Typecho_Response redirect:在执行页面重定向时触发。 24. Typecho_Cookie set:在设置 Cookie时触发。 get:在获取 Cookie时触发。 25. Typecho_Feed output:在输出RSS Feed时触发。 26. Typecho init:在系统初始化时触发。 header:在输出页面头部时触发。 footer:在输出页面尾部时触发。 使用方法示例: Typecho_Plugin::factory('Widget_Contents_Post_Edit')->insert = array('YourPlugin_Class', 'yourMethod'); 说明: 插入位置(Hook Point):即可拦截的方法名。 触发时机:在对应的方法执行时触发,允许插件在该时机执行自定义逻辑。 使用场景:插件可以通过这些 Hook Points 实现对 Typecho 功能的扩展和定制,例如在文章发布后发送通知,在用户登录失败后记录日志等。 注意事项: 确保方法存在:请确保您定义的插件类和方法存在且可被调用,避免出现错误。 性能考虑:插件开发时应注意性能,避免阻塞核心功能的执行。 充分测试:某些 Hook Points 可能仅在特定情况下触发,开发时需充分测试。 通过以上整理,您可以清晰地了解 Typecho 插件开发中可用的所有插入位置,以及它们的调用位置和意义,方便在插件中实现所需的功能。 转载 全栈开发技术博客 原文链接:https://www.lvtao.net/dev/typecho-plugin.html 
技巧,Typecho 11-14

网站已运行 71 天 | 共有文章 672 篇 | 累计访问 17280 人次