Skip to content

TIP

本文档适配 Typecho 版本为:1.2.1

Hook 参考手册

这里列出 Typecho 的所有 Hook 点,如果不知道如何使用,详见Hook 基础使用

完整 Hook 列表

核心系统 Hook

index.php

Hook 名称类型参数说明
begincall系统启动时调用
endcall系统结束时调用

这里展示一下 call 类型 Hook 到底如何用,后面就省略了。

php
// ...
\Typecho\Plugin::factory('index.php')->begin = [Plugin::class, 'render']; 
// ...
class Plugin extends PluginInterface {
    public static function render() {
        echo "<p>这里是begin接口的输出</p>"
	}
}
// ...

admin/common.php

Hook 名称类型参数说明
begincall后台公共初始化时调用

admin/header.php

Hook 名称类型参数说明
headerfilter$header过滤后台头部 CSS
Hook 名称类型参数说明
begincall后台底部开始
endcall后台底部结束

admin/menu.php

Hook 名称类型参数说明
navBarcall后台导航栏扩展

内容编辑 Hook

admin/write-post.php

Hook 名称类型参数说明
contentcall$post文章内容编辑区域
optioncall$post文章选项侧边栏
advanceOptioncall$post文章高级选项
richEditorcall+trigger$post富文本编辑器替换
bottomcall$post页面底部扩展

admin/write-page.php

Hook 名称类型参数说明
contentcall$page页面内容编辑区域
optioncall$page页面选项侧边栏
advanceOptioncall$page页面高级选项
richEditorcall+trigger$page富文本编辑器替换
bottomcall$page页面底部扩展

admin/editor-js.php

Hook 名称类型参数说明
markdownEditorcall$contentMarkdown 编辑器增强

admin/write-js.php

Hook 名称类型参数说明
writecall编写页面 JS 增强

admin/theme-editor.php

Hook 名称类型参数说明
bottomcall$files主题编辑器底部

admin/profile.php

Hook 名称类型参数说明
bottomcall个人资料页面底部

Widget 内容展示 Hook

Widget\Archive

Hook 名称类型参数说明
selectfilter$query过滤数据库查询
handleInitcall$archive内容初始化后调用
handlecall$archive自定义内容处理
headerOptionsfilter$options过滤头部选项
headercall$archive头部渲染时调用
footercall$archive底部渲染时调用
beforeRendercall$archive模板渲染前调用
afterRendercall$archive模板渲染后调用
indexHandlecall$archive首页请求处理
singleHandlecall$archive单篇内容请求处理
categoryHandlecall$archive分类归档请求处理
tagHandlecall$archive标签归档请求处理
authorHandlecall$archive作者归档请求处理
dateHandlecall$archive日期归档请求处理
searchHandlecall$archive搜索结果请求处理
error404Handlecall$archive404 错误页面处理
searchcall$archive搜索操作时调用
feedItemfilter$item过滤RSS/Atom项目

Widget 内容过滤 Hook

Widget\Base\Contents

Hook 名称类型参数说明
filterfilter$row过滤内容行数据
titlefilter$title, $widget, $result过滤内容标题
excerptfilter$excerpt, $widget, $result过滤内容摘要
excerptExfilter$excerpt, $widget, $result扩展摘要过滤
markdownfilter$text, $widget, $result过滤 Markdown 处理
autoPfilter$text, $widget, $result过滤自动段落处理
contentfilter$content, $widget, $result过滤内容输出
contentExfilter$content, $widget, $result扩展内容过滤
isFieldReadOnlycall+trigger$fieldName检查字段是否只读
getDefaultFieldItemsfilter$items添加默认自定义字段项

Widget\Base\Comments

Hook 名称类型参数说明
filterfilter$row过滤评论行数据
gravatarcall+trigger$email, $size, $rating, $default自定义头像处理
markdownfilter$text, $widget, $result过滤评论 Markdown
autoPfilter$text, $widget, $result过滤评论自动段落
contentfilter$content, $widget, $result过滤评论内容
contentExfilter$content, $widget, $result扩展评论内容过滤

内容管理 Hook

Widget\Contents\Post\Edit

Hook 名称类型参数说明
writefilter$post过滤文章写入数据
finishPublishcall$post文章发布完成后调用
finishSavecall$post文章保存完成后调用
markcall$post文章状态标记时调用
finishMarkcall$post文章状态标记完成
deletecall$post文章删除时调用
finishDeletecall$post文章删除完成后调用

Widget\Contents\Page\Edit

Hook 名称类型参数说明
writefilter$page过滤页面写入数据
finishPublishcall$page页面发布完成后调用
finishSavecall$page页面保存完成后调用
markcall$page页面状态标记时调用
finishMarkcall$page页面状态标记完成
deletecall$page页面删除时调用
finishDeletecall$page页面删除完成后调用

Widget\Comments\Edit

Hook 名称类型参数说明
markcall$comment评论状态标记时调用
deletecall$comment评论删除时调用
finishDeletecall$comment评论删除完成后调用
editfilter$comment过滤评论编辑数据
finishEditcall$comment评论编辑完成后调用
listCommentsfilter$options过滤评论列表选项

用户系统 Hook

Widget\User

Hook 名称类型参数说明
registerfilter$user过滤用户注册数据
finishRegistercall$user用户注册完成后调用
logoutcall用户登出时调用

Widget\Login

Hook 名称类型参数说明
logincall$name, $password, $remember登录尝试时调用
hashValidatecall+trigger$password, $hash自定义密码验证
loginSucceedcall$user登录成功后调用
loginFailcall$user登录失败后调用
simpleLoginSucceedcall$user简单登录成功
simpleLoginFailcall$name简单登录失败

文件上传 Hook

Widget\Upload

Hook 名称类型参数说明
deleteHandlecall+trigger$content自定义文件删除处理
attachmentHandlecall+trigger$attachment自定义附件URL处理
attachmentDataHandlecall+trigger$content自定义附件数据处理
beforeModifycall$file文件修改前调用
modifycall$file文件修改时调用
modifyHandlecall+trigger$file自定义文件修改处理
beforeUploadcall$file文件上传前调用
uploadcall$file文件上传时调用
uploadHandlecall+trigger$file自定义文件上传处理

评论反馈 Hook

Widget\Feedback

Hook 名称类型参数说明
commentfilter$comment过滤评论数据
finishCommentcall$comment评论提交完成后调用
replycall$comment, $parent评论回复时调用
cancelReplycall取消回复时调用
trackbackfilter$trackback过滤引用数据
finishTrackbackcall$trackback引用完成后调用
pingbackfilter$pingback过滤Pingback数据
finishPingbackcall$pingbackPingback完成后调用

其他系统 Hook

Widget\Backup

Hook 名称类型参数说明
exportcall$backup备份导出时调用

Widget\XmlRpc

Hook 名称类型参数说明
textFilterfilter$text过滤XML-RPC文本内容

Widget\Metas\Category\Rows

Hook 名称类型参数说明
listCategoriesfilter$options过滤分类列表选项

Widget\Contents\Page\Rows

Hook 名称类型参数说明
listPagesfilter$options过滤页面列表选项