[插件开发]获知文章状态变化
文章(post)是 WordPress 博客的核心价值所在,围绕一篇文章的增、删、改,我们可以开发很多有用的插件。近来,由于维护一款插件的需要,我碰巧研究了一下围绕文章发布流程而设立的一些钩子(hook)。微有所得,记录备查。
事情的起因是插件中的一个函数hook到了一个action上,名字是publish_post,顾名思义,在文章发布时候被激发的。为了要更清楚地掌控这个action,我想在源代码中,把触发点给找出来,这一找,问题来了。理论上,我们hook任何action,WP内部都会有对应的do_action来激发这个钩子,这一次,一搜,根本没有publish_post,那就有点小麻烦,说明具体激发哪个钩子,是运行时决定的,再明白点说吧,这个action的名字,应该使用变量拼出来的,所以我们直接搜publish_post很难找到调用点。
浅析WordPress中的Hook机制
Hook,既可以是动词,表示钩住,也可以是名词,表示钩子。在一个计算机程序中,Hook没有准确的并且合理的中文翻译,很多技术书籍文章,干脆就称之为“钩子”。
Hook机制(就是指Action和Filter的机制)正是WordPress能够有成千上万的插件支持的根源。
尽管我以前可能写过类似的文章来说明这个问题,但是我觉得这个东西是如此的重要,以至于如果你还没有明白什么是Hook,根本算不上走进了WP开发者的世界。又或者说,作为一个普通的玩家来说,深刻地理解Hook,能够帮助您走上DIY博客高速车道。

Most Commented Posts