Skip to content

接口列表 ​

Z-BlogPHP 提供了多类插件接口供开发者扩展系统功能。本篇按接口分类说明各类接口的用途与挂载方式。

接口分类 ​

为了应对各种各样的扩展需求,Z-BlogPHP 提供了几类插件接口供开发者使用,简要说明如下:

  • 「管理页面」输出类:这一类接口一般用于在后台现有管理页面中添加按钮或者扩展选项内容
  • 「前台页面」输出类:在网页内容输出到浏览器前进行变更或追加,包括额外引入样式、脚本。
  • 「数据写入」处理类:在文章、评论等数据提交的过程中,具体又分为:
    • Core:在数据提交前介入,可用于过滤提交的数据内容。
    • Succeed:在数据提交成功后介入,可用于数据提交后的事件处理,如更新自定义模块数据等。
  • 「魔术方法」扩展类:用于扩展系统类中的可用方法
  • 「流程/事件」监听类:严格来说,全部接口都是「监听」,监听接口本身被触发,然后执行指定的操作,或者对接口传递的数据进行处理。
    • 除「魔术方法」外,前三种是类别其实是以「功能目的」来划分的,也只是较常用的三种。

注:下边列表并不严格对应上边分类;

「管理页面」输出 ​

后台全局输出 ​

接口参数说明
Filter_Plugin_Admin_Header用于向后台「header」输出内容
Filter_Plugin_Admin_Footer用于向后台「footer」输出内容
Filter_Plugin_Admin_TopMenuarr $topmenus用于向后台「顶部菜单」添加项目
Filter_Plugin_Admin_LeftMenuarr $leftmenus用于向后台「侧栏菜单」添加项目

特定页 菜单管理 SubMenu ​

用法示例详见「后台子菜单扩展案例」。

接口参数说明
Filter_Plugin_Admin_SiteInfo_SubMenu后台首页页面子菜单
Filter_Plugin_Admin_ArticleMng_SubMenu文章管理页面子菜单
Filter_Plugin_Admin_PageMng_SubMenu页面管理页面子菜单
Filter_Plugin_Admin_CategoryMng_SubMenu分类管理页面子菜单
Filter_Plugin_Admin_CommentMng_SubMenu评论管理页面子菜单
Filter_Plugin_Admin_MemberMng_SubMenu用户管理页面子菜单
Filter_Plugin_Admin_UploadMng_SubMenu附件管理页面子菜单
Filter_Plugin_Admin_TagMng_SubMenu标签管理页面子菜单
Filter_Plugin_Admin_PluginMng_SubMenu插件管理页面子菜单
Filter_Plugin_Admin_ThemeMng_SubMenu主题管理页面子菜单
Filter_Plugin_Admin_ModuleMng_SubMenu模块管理页面子菜单
Filter_Plugin_Admin_SettingMng_SubMenu设置管理页面子菜单
Filter_Plugin_Edit_SubMenu编辑页菜单
Filter_Plugin_Tag_Edit_SubMenu标签编辑页菜单
Filter_Plugin_Module_Edit_SubMenu模块编辑页菜单
Filter_Plugin_Member_Edit_SubMenu用户编辑页菜单
Filter_Plugin_Category_Edit_SubMenu分类编辑页菜单

特定页表格过滤 ​

接口参数说明
Filter_Plugin_Admin_ArticleMng_TablePost &$article, arr &$tabletds, arr &$tableths文章管理页表格每行处理
Filter_Plugin_Admin_PageMng_TablePost &$article, arr &$tabletds, arr &$tableths页面管理页表格每行处理
Filter_Plugin_Admin_CategoryMng_TableCategory &$category, arr &$tabletds, arr &$tableths分类管理页表格每行处理
Filter_Plugin_Admin_CommentMng_TableComment &$cmt, arr &$tabletds, arr &$tableths, Post $article评论管理页表格每行处理
Filter_Plugin_Admin_MemberMng_TableMember &$member, arr &$tabletds, arr &$tableths用户管理页表格每行处理
Filter_Plugin_Admin_UploadMng_TableUpload &$upload, arr &$tabletds, arr &$tableths附件管理页表格每行处理
Filter_Plugin_Admin_TagMng_TableTag &$tag, arr &$tabletds, arr &$tableths标签管理页表格每行处理

特定页查询过滤 ​

接口参数说明
Filter_Plugin_Admin_ArticleMng_Core$s, $w, $or, $l, $op文章管理页的核心接口(1.7 新加入)
Filter_Plugin_Admin_PageMng_Core$s, $w, $or, $l, $op页面管理页的核心接口(1.7 新加入)
Filter_Plugin_Admin_CommentMng_Core$s, $w, $or, $l, $op评论管理页的核心接口(1.7 新加入)
Filter_Plugin_Admin_CategoryMng_Core$s, $w, $or, $l, $op分类管理页的核心接口(1.7 新加入)
Filter_Plugin_Admin_MemberMng_Core$s, $w, $or, $l, $op会员管理页的核心接口(1.7 新加入)
Filter_Plugin_Admin_UploadMng_Core$s, $w, $or, $l, $op附件管理页的核心接口(1.7 新加入)
Filter_Plugin_Admin_TagMng_Core$s, $w, $or, $l, $op标签管理页的核心接口(1.7 新加入)

特定页输出 ​

接口参数说明
Filter_Plugin_Edit_Begin文章/页面编辑页头部输出
Filter_Plugin_Edit_End文章/页面编辑页尾部输出
Filter_Plugin_Edit_Response编辑页正文编辑器之后输出
Filter_Plugin_Edit_Response2编辑页摘要编辑器之后输出
Filter_Plugin_Edit_Response3编辑页右侧发布栏输出
Filter_Plugin_Edit_Response4编辑页标题输入框之前输出
Filter_Plugin_Edit_Response5编辑页标题与正文之间输出
Filter_Plugin_Category_Edit_Response分类编辑页表单字段之后输出
Filter_Plugin_Tag_Edit_Response标签编辑页表单字段之后输出
Filter_Plugin_Member_Edit_Response用户编辑页表单字段之后输出
Filter_Plugin_Module_Edit_Response模块编辑页表单字段之后输出

「管理页面」流程监听 ​

接口参数说明
Filter_Plugin_Admin_Begin后台管理页启动时触发
Filter_Plugin_Admin_End后台管理页输出完成后触发

「前台页面」输出 ​

接口参数说明
Filter_Plugin_ViewList_TemplateTemplate $template列表页模板渲染前触发
Filter_Plugin_ViewPost_TemplateTemplate $template文章/页面详情页模板渲染前触发
Filter_Plugin_ViewSearch_TemplateTemplate $template搜索结果页模板渲染前触发
Filter_Plugin_ViewComments_TemplateTemplate $template评论列表(AJAX)模板渲染前触发
Filter_Plugin_ViewComment_TemplateTemplate $template单条评论(AJAX)模板渲染前触发

「前台页面」流程 ​

接口参数说明
Filter_Plugin_Index_Begin前台 index.php 启动后触发
Filter_Plugin_Index_End前台 index.php 渲染完成后触发
Filter_Plugin_ViewIndex_Beginstr $url首页渲染入口触发
Filter_Plugin_ViewAuto_Beginstr $inpurl, str $url路由解析开始时触发
Filter_Plugin_ViewAuto_Endstr $url路由解析结束时触发
Filter_Plugin_Feed_Beginfeed.php 启动后触发
Filter_Plugin_Feed_Endfeed.php 输出完成后触发
Filter_Plugin_ViewFeed_BeginRSS 生成开始时触发
Filter_Plugin_ViewFeed_Corearr $wRSS 查询条件组装时触发
Filter_Plugin_ViewFeed_Endobj $rss2RSS 对象输出前触发
Filter_Plugin_ViewList_Begin列表查询开始时触发
Filter_Plugin_ViewList_Core$type, $page, $category, $author, $datetime, $tag, &$w, &$pagebar, &$list_template列表查询条件组装后触发
Filter_Plugin_Search_Beginsearch.php 启动后触发
Filter_Plugin_Search_Endsearch.php 渲染完成后触发
Filter_Plugin_ViewSearch_Begin搜索页查询开始时触发
Filter_Plugin_ViewSearch_Core$q, $page, &$w, &$pagebar, &$order搜索查询条件组装后触发
Filter_Plugin_ViewPost_Begin文章查询开始时触发
Filter_Plugin_ViewPost_Core&$select, &$w, &$order, $limit, $option文章查询条件组装后触发

「数据写入」处理 ​

提交前过滤(Core) ​

接口参数说明
Filter_Plugin_PostArticle_Core&$article文章编辑的核心接口
Filter_Plugin_PostPage_Core&$article页面编辑的核心接口
Filter_Plugin_PostComment_Core&$cmt评论发表的核心接口
Filter_Plugin_PostCategory_Core&$cate分类编辑的核心接口
Filter_Plugin_PostTag_Core&$tag标签编辑的核心接口
Filter_Plugin_PostMember_Core&$mem会员编辑的核心接口
Filter_Plugin_PostModule_Core&$mod模块编辑的核心接口
Filter_Plugin_CheckComment_Core&$cmt评论审核的核心接口
Filter_Plugin_PostPost_Core&$postPost 类对象的通用编辑的核心接口(1.7.0 加入)
Filter_Plugin_DelPost_Core&$postPost 类对象的通用删除核心接口(1.7.0 加入)

提交后处理(Succeed) ​

接口参数说明
Filter_Plugin_PostArticle_Succeed&$article文章编辑成功的接口
Filter_Plugin_PostPage_Succeed&$article页面编辑成功的接口
Filter_Plugin_PostComment_Succeed&$cmt评论发表成功的接口
Filter_Plugin_PostCategory_Succeed&$cate分类编辑成功的接口
Filter_Plugin_PostTag_Succeed&$tag标签编辑成功的接口
Filter_Plugin_PostMember_Succeed&$mem会员编辑成功的接口
Filter_Plugin_PostModule_Succeed&$mod模块编辑成功的接口
Filter_Plugin_PostUpload_Succeed&$upload附件上传成功的接口
Filter_Plugin_CheckComment_Succeed&$cmt评论审核成功的接口
Filter_Plugin_PostPost_Succeed&$postPost 类对象的通用编辑的成功接口(1.7.0 加入)
Filter_Plugin_DelPost_Succeed&$postPost 类对象的通用删除成功接口(1.7.0 加入)
Filter_Plugin_DelArticle_Succeed&$article文章删除成功的接口
Filter_Plugin_DelPage_Succeed&$article页面删除成功的接口
Filter_Plugin_DelCategory_Succeed&$cate分类删除成功的接口
Filter_Plugin_DelTag_Succeed&$tag标签删除成功的接口
Filter_Plugin_DelComment_Succeed&$cmt评论删除成功的接口
Filter_Plugin_DelMember_Succeed&$mem会员删除成功的接口
Filter_Plugin_DelModule_Succeed&$mod模块删除成功的接口

「魔术方法」扩展 ​

文章(Post) ​

接口参数说明
Filter_Plugin_Post_Url&$this干预 Post 类 Url 方法的接口
Filter_Plugin_Post_Get&$this, $method干预 Post 类 Get 方法的接口
Filter_Plugin_Post_Set&$this, $method, $arg干预 Post 类 Set 方法的接口
Filter_Plugin_Post_Save&$postPost 类的 Save 方法接口
Filter_Plugin_Post_Del&$postPost 类的 Del 方法接口
Filter_Plugin_Post_Call&$post, $method, $argsPost 类的魔术方法接口
Filter_Plugin_Post_Thumbs&$this, &$all_images, &$width, &$height, &$count, &$clip干预 Post 类 Thumbs 方法的接口
Filter_Plugin_Post_Prev$postPost 类的 Prev 接口
Filter_Plugin_Post_Next$postPost 类的 Next 接口
Filter_Plugin_Post_RelatedList$postPost 类的 RelatedList 接口
Filter_Plugin_Post_CommentPostUrl$postPost 类的 CommentPostUrl 接口

分类(Category) ​

接口参数说明
Filter_Plugin_Category_Url&$this干预 Category 类 Url 方法的接口
Filter_Plugin_Category_Get&$this, $method干预 Category 类 Get 方法的接口
Filter_Plugin_Category_Set&$this, $method, $arg干预 Category 类 Set 方法的接口
Filter_Plugin_Category_Save&$categoryCategory 类的 Save 方法接口
Filter_Plugin_Category_Del&$categoryCategory 类的 Del 方法接口
Filter_Plugin_Category_Call&$category, $method, $argsCategory 类的魔术方法接口

标签(Tag) ​

接口参数说明
Filter_Plugin_Tag_Url&$this干预 Tag 类 Url 方法的接口
Filter_Plugin_Tag_Get&$this, $method干预 Tag 类 Get 方法的接口
Filter_Plugin_Tag_Set&$this, $method, $arg干预 Tag 类 Set 方法的接口
Filter_Plugin_Tag_Save&$tagTag 类的 Save 方法接口
Filter_Plugin_Tag_Del&$tagTag 类的 Del 方法接口
Filter_Plugin_Tag_Call&$tag, $method, $argsTag 类的魔术方法接口

用户(Member) ​

接口参数说明
Filter_Plugin_Member_Url&$this干预 Member 类 Url 方法的接口
Filter_Plugin_Member_Get&$this, $method干预 Member 类 Get 方法的接口
Filter_Plugin_Member_Set&$this, $method, $arg干预 Member 类 Set 方法的接口
Filter_Plugin_Member_Save&$memberMember 类的 Save 方法接口
Filter_Plugin_Member_Del&$memberMember 类的 Del 方法接口
Filter_Plugin_Member_Call&$member, $method, $argsMember 类的魔术方法接口
Filter_Plugin_Member_Avatar$memberMember 类的 Avatar 接口

评论(Comment) ​

接口参数说明
Filter_Plugin_Comment_Get&$this, $method干预 Comment 类 Get 方法的接口
Filter_Plugin_Comment_Set&$this, $method, $arg干预 Comment 类 Set 方法的接口
Filter_Plugin_Comment_Save&$commentComment 类的 Save 方法接口
Filter_Plugin_Comment_Del&$commentComment 类的 Del 方法接口
Filter_Plugin_Comment_Call&$comment, $method, $argsComment 类的魔术方法接口

模块(Module) ​

接口参数说明
Filter_Plugin_Module_Get&$this, $method干预 Module 类 Get 方法的接口
Filter_Plugin_Module_Set&$this, $method, $arg干预 Module 类 Set 方法的接口
Filter_Plugin_Module_Save&$moduleModule 类的 Save 方法接口
Filter_Plugin_Module_Del&$moduleModule 类的 Del 方法接口

附件(Upload) ​

接口参数说明
Filter_Plugin_Upload_SaveFile$tmp, $thisUpload 类的 SaveFile 方法接口
Filter_Plugin_Upload_SaveBase64File$str64, $thisUpload 类的 SaveBase64File 方法接口
Filter_Plugin_Upload_Del$thisUpload 类的 Del 方法接口
Filter_Plugin_Upload_DelFile$thisUpload 类的 DelFile 方法接口
Filter_Plugin_Upload_Url$uploadUpload 类的 Url 方法接口
Filter_Plugin_Upload_Get&$this, $method干预 Upload 类 Get 方法的接口
Filter_Plugin_Upload_Set&$this, $method, $arg干预 Upload 类 Set 方法的接口
Filter_Plugin_Upload_Dir$uploadUpload 类的 Dir 方法接口

系统(Zbp) ​

接口参数说明
Filter_Plugin_Zbp_Call$method, $argsZbp 类的魔术方法接口
Filter_Plugin_Zbp_Get$nameZbp 类的魔术方法接口
Filter_Plugin_Zbp_Set$name, $valueZbp 类的魔术方法接口
Filter_Plugin_Zbp_CheckRights$actionZbp 类的检查权限接口(检查当前用户)

其他 ​

接口参数说明
Filter_Plugin_GetPost_Result&$post定义 GetPost 输出结果接口
Filter_Plugin_GetList_Result&$list定义 GetList 输出结果接口
Filter_Plugin_App_Pack$this, $this->dirs, $this->filesApp 类的 Pack 方法接口
Filter_Plugin_DbSql_Filter$method, $argsDbSql 类的 SQL 过滤和统计方法接口

「流程/事件」监听 ​

指令提交 ​

接口参数说明
Filter_Plugin_Cmd_Begincmd.php 的启动接口,可以在这里拦截各种 action
Filter_Plugin_Cmd_Endcmd.php 的结束接口,可以在这里拦截各种 action 之后的处理
Filter_Plugin_Cmd_Ajaxcmd.php 的 Ajax 命令专用接口,插件需要自行判断权限
Filter_Plugin_Cmd_Redirect$url, $actioncmd.php 的最后跳转接口,用于修改 url 跳转值
Filter_Plugin_Misc_Begin$typec_system_misc.php 的启动接口,可以在这里拦截各种 type

登录验证 ​

接口参数说明
Filter_Plugin_VerifyLogin_SucceedVerifyLogin 成功的接口
Filter_Plugin_VerifyLogin_FailedVerifyLogin 失败的接口
Filter_Plugin_Logout_SucceedLogout 成功的接口
Filter_Plugin_Login_Header定义 Login.php 首页 header 接口
Filter_Plugin_Other_Header定义其它页的 header 接口

系统加载 ​

接口参数说明
Filter_Plugin_Zbp_PreLoadZbp 类的预加载接口
Filter_Plugin_Zbp_LoadZbp 类的加载接口
Filter_Plugin_Zbp_Load_PreZbp 类的加载(预处理)接口
Filter_Plugin_Zbp_LoadManageZbp 类的后台管理初始加载接口
Filter_Plugin_Zbp_CheckSiteClosedZbp 类的跳出关站检查接口
Filter_Plugin_Zbp_TerminateZbp 类的终结接口
Filter_Plugin_Zbp_ShowError1.7.3 已废弃,请使用 Filter_Plugin_Debug_Handler_Common 接口,参数不变
Filter_Plugin_Zbp_ShowValidCode$idZbp 类的显示验证码接口,具有唯一性
Filter_Plugin_Zbp_CheckValidCode$vaidcode, $idZbp 类的比对验证码接口,具有唯一性

调试与日志 ​

接口参数说明
Filter_Plugin_Debug_Handler1.7.3 已废弃,不应再使用
Filter_Plugin_Debug_Handler_ZEE$zee, $debug_type定义 Debug_Exception_Handler、Debug_Error_Handler 函数的接口
Filter_Plugin_Debug_Handler_Commonint $errno, string $errstr, string $errfile, int $errline这是 Filter_Plugin_Zbp_ShowError 接口的替代品,无须改动插件函数的参数
Filter_Plugin_Debug_Display$zec定义 ZBlogException 的 Display 函数的接口(与 Handler 不同的是一个传入 zbp 异常类一个是控制类)
Filter_Plugin_Autoload$classname监控 autoload 魔术方法
Filter_Plugin_Logs$s, $iserror监控记录函数
Filter_Plugin_Http_Request_Convert_To_Global$requesthttp_request_convert_to_global 函数

应用管理 ​

接口参数说明
Filter_Plugin_EnablePlugin&$nameEnablePlugin(1.6.0 加入)
Filter_Plugin_DisablePlugin&$nameDisablePlugin(1.6.0 加入)
Filter_Plugin_BatchPost&$typeBatchPost(1.6.1 加入)

其他入口 ​

接口参数说明
Filter_Plugin_Xmlrpc_Begin&$xmlxml-rpc 页的 begin 接口(1.5.1 加入)
Filter_Plugin_CSP_Backend&$xml后台 CSP 接口(1.5.2 加入)

大数据 ​

接口参数说明
Filter_Plugin_LargeData_Article&$select, &$where, &$order, &$limit, &$option大数据文章接口
Filter_Plugin_LargeData_Page&$select, &$where, &$order, &$limit, &$option大数据页面接口
Filter_Plugin_LargeData_Comment&$select, &$where, &$order, &$limit, &$option大数据评论接口
Filter_Plugin_LargeData_CountTagArray$string, $plus, $articleid大数据增减文章标签关联表
Filter_Plugin_LargeData_GetList&$select, &$where, &$order, &$limit, &$option大数据 GetList 函数

后台其他 ​

接口参数说明
Filter_Plugin_Admin_Hint定义后台首页 hint 接口
Filter_Plugin_Admin_Other_Action后台管理页拦截后台管理请求实现自己的 Action

前台其他 ​

接口参数说明
Filter_Plugin_ViewPost_ViewNums&$article定义 ViewPost 浏览数接口
Filter_Plugin_ViewPost_Begin_V2&$array定义 POST 显示输出 begin 接口(第 2 版,只传入一个 $array)
Filter_Plugin_ViewList_Begin_V2&$array定义列表输出接口(第 2 版,只传一个 $array)

「模板」处理 ​

接口参数说明
Filter_Plugin_Template_Compiling_Begin$this, $contentTemplate 类编译一个模板前的接口
Filter_Plugin_Template_Compiling_End$this, $contentTemplate 类编译一个模板后的接口
Filter_Plugin_Template_GetTemplate$this, $nameTemplate 类读取一个模板前的接口
Filter_Plugin_Template_Display$this, $entryPageTemplate 类显示接口
Filter_Plugin_Zbp_BuildTemplate$templateZbp 类的重新编译模板接口
Filter_Plugin_Zbp_MakeTemplatetags$templateZbp 类的生成模板标签接口
Filter_Plugin_Zbp_BuildModuleZbp 类的生成模块内容的接口
Filter_Plugin_Zbp_RegBuildModulesZbp 类的注册模块时的接口
Filter_Plugin_Zbp_PrepareTemplate&$theme, &$template_dirnameZbp 类的 PrepareTemplate 接口
Filter_Plugin_Html_Js_Addc_html_js_add.php 脚本接口,允许插件在 c_html_js_add.php 内输出内容
Filter_Plugin_Html_Js_ZbpConfigc_html_js_add.php 脚本接口,允许插件设置 zbpConfig
Filter_Plugin_Admin_Js_Addc_admin_js_add.php 脚本页的接口
Filter_Plugin_ViewExternalLink_Template&$template定义 ViewExternalLink 输出模板接口
Filter_Plugin_OutputOptionItemsOfMemberLevel$default, $tz定义 OutputOptionItemsOfMemberLevel 函数里的接口
Filter_Plugin_OutputOptionItemsOfMember_Begin$default, $posttype, $action, $tz定义 OutputOptionItemsOfMember 函数里的前置接口
Filter_Plugin_OutputOptionItemsOfCategories$default, $tz定义 OutputOptionItemsOfCategories 函数里的接口
Filter_Plugin_OutputOptionItemsOfPostStatus$default, $tz定义 OutputOptionItemsOfPostStatus 函数里的接口
Filter_Plugin_OutputOptionItemsOfIsTop$default, $tz定义 OutputOptionItemsOfIsTop 函数里的接口
Filter_Plugin_OutputOptionItemsOfMember$default, $tz定义 OutputOptionItemsOfMember 函数里的接口
Filter_Plugin_OutputOptionItemsOfTemplate$default, $tz定义 OutputOptionItemsOfTemplate 函数里的接口
Filter_Plugin_OutputOptionItemsOfCommon$default, $array, $name定义 OutputOptionItemsOfCommon 函数里的接口,因为是通用型的,所以有 $name

「API」处理 ​

接口参数说明
Filter_Plugin_API_BeginAPI 启动
Filter_Plugin_API_Dispatch$mods, $mod, $actAPI 分发前
Filter_Plugin_API_Extend_ModsAPI 的应用追加模块机制
Filter_Plugin_API_CheckMods&$mods_allow, &$mods_disallowAPI 的黑白名单机制
Filter_Plugin_API_Get_Request_Filter&$conditionAPI 获取约束过滤条件
Filter_Plugin_API_Get_Pagination_Info&$info, &$pagebarAPI 获取分页信息
Filter_Plugin_API_Get_Object_Array&$object, &$array, &$other_props, &$remove_props, &$with_relationsAPI 转换 Object 到 Array
Filter_Plugin_API_Post_List_Core&$select, $where, $order, $limit, $option处理 api_post_list 的查询
Filter_Plugin_API_VerifyCSRF_Skip&$skip_actsAPI 校验 CSRF Token 跳过验证
Filter_Plugin_API_Result_Data&$result, $mod, $act处理返回数据
Filter_Plugin_API_Pre_Response&$data, &$error, &$code, &$messageAPI 响应处理前接口
Filter_Plugin_API_Pre_Response_Raw&$raw, &$raw_type处理返回数据
Filter_Plugin_API_Response&$responseAPI 响应内容处理