如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接信息。

苏南大叔,这几天根据自己的需求,也写了typecho插件了。总结了几点。有了这几点。貌似也许不用官方的wiki,你也能自己写插件了。

在typecho的source代码里面查找关键词“pluginHandle()”,然后你就可以看到,所有的可以在插件里面进行控制的地方啦。是不是非常清晰明了。比如:
varWidgetArchive.php 里面有个

 $allows = $this->pluginHandle()->headerOptions($allows, $this); 

在插件里面就是这么写的:

 public static function activate() { Typecho_Plugin::factory('Widget_Archive')->headerOptions = array(__CLASS__, 'headerOptions'); } public static function headerOptions($allows, $that) { //去除默认输出的顶部恶心的js $myallows = [ "description" => mb_substr($allows["description"], 0, 80), "commentReply" => "", "antiSpam" => "" ]; return array_merge($allows, $myallows); } 

当然了在theme里面也可以主动调用插件里面的函数。比如:

theme里面这么写的:

 SNSEO_Plugin::randomArticles(); 

plugin里面是这么写的:

 public static function randomArticles() {} 

涉及到数据库读写的时候,是这么写的:

 $db = Typecho_Db::get(); $sql = $db->select()->from('table.contents') ->where('status = ?', 'publish') ->where('type = ?', 'post') ->where('created <= unix_timestamp(now())', 'post') //添加这一句避免未达到时间的文章提前曝光 ->limit($defaults['number']) ->order('RAND()'); $result = $db->fetchAll($sql); 

除了一个db对象写法不一样外,其它的写法和我们常见的各种库的写法高度一致。所以也不会有啥陌生的。

最后贴上几个百度到的貌似还不错的资源站。以后可以过去翻翻看的。
http://t.160.me/
https://www.typechodev.com/

  【typecho】秘籍文章入口,仅传授于有缘之人  typecho

欢迎转载传播本篇原创文章,转载请保留链接及作者信息。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

苏南大叔需要你的支持

打赏任意金额,发送截图到邮箱 shang@newsn.net ,可以领取精选回馈如下(任选其一):
  • 《前端视频教程大礼包》一套
  • 《wordpress精选皮肤》一套
  • 《dedecms织梦精选模板》一套
感谢您的打赏,让我更有动力,将更多精彩教程文章,呈现给大家!谢谢!

岁月静好

关注互联网发展,关注苏南大叔的《程序如此灵动~》博客
本文章来自:程序如此灵动~
博客地址为:https://newsn.net/
原文地址为:https://newsn.net/say/typecho-plugins-points.html
上一篇好文:原创typecho插件:markdown链接新开页面
下一篇好文:开源bW博客系统安装记录

如果您转载了本文章,出于某种原因,并没有注明作者或者出处。
在这里,苏南大叔也表示理解和支持。因为苏南大叔深深地明白:
您会在合适的时机,合适的地方,给本博客一个外链。对吧?
您若开心,便是安好!岁月静好,但愿世界和平,没有纷争~