Typecho插件钩子执行优先级 在制作Typecho插件的时候,有的时候要考虑对其他插件的兼容,比如A,B两个插件调用了相同的钩子(插件接口),那么怎么确保谁先执行呢,默认的情况好像就是谁先启动谁就先执行,这样控制权就在用户手里了,这样其实体验很不好,因为用户是最不可控的因素。教程所以就需要插件开发者自行控制下自己的钩子生效优先级,比如下方默认钩子的写法,他没规定优先级所以就默认,默认优先级就是10。Typecho_Plu...
给文章编辑页面实现图片延迟加载功能 文档说明作者的博文大部分是一张图一段话,日常编辑文章时也没有留意到以下情况,直到:偶然编辑多图文章时,发现浏览器的加载图标一直在转圈圈,很好奇地查看控制台,原来这是在同时加载页面中的所有图片,而自己并没有预览文章内容,嗯,于是乎有了这篇文档。使用方法A 涉及文件admin/editor-js.phpB 改造文件作用:给编辑器内容中的图片添加延迟加载功能。打开文件 admin/editor-j...
Typecho超级标签云让每个标签附带一篇文章 忘记在哪里看见这个需求了,花了 3 分钟弄出来。Typecho都迁移到 PHP 7.2 了,我也采用一个比较优雅的办法弄的。代码<?php class XMetas_Tag_Cloud extends Widget_Metas_Tag_Cloud { <?php $this->widget('Widget_Metas_Category_List')->to($categories); ?> <?php while ($categories->next()): ?> <?ph...
Typecho判断插件是否激活 做模板的时候有些地方可能需要用到插件。然后需要看一下插件是否启用,就可以用到如下插件:<?php $all = Typecho_Plugin::export();?> <?php if (array_key_exists('插件名称', $all['activated'])) : ?> XXX插件已激活 <?php end...
Typecho文章如何按修改时间排序 Typecho文章排序方式修改我们可以通过购买《Order插件》或修改源码的方式,将文章修改成按照发布时间升序或降序排列,或按照文章最后一次修改的时间的升序或降序排列。下文就介绍下修改源码的方式。首先我们打开var/Widget/这个路径的Archive.php文件,在764行左右找到$select->order('table.contents.created', ...
Typecho常用统计 一些常用统计<?php Typecho_Widget::widget('Widget_Stat')->to($stat); ?> 文章总数:<?php $stat->publishedPostsNum() ?>篇 分类总数:<?php $stat->categoriesNum() ?>个 评论总数:<?php $...
Typecho数据库常用api 表创建和删除在Typecho插件开发过程中,往往需要创建自己的表。上文提到Typecho_Db类中的query函数,可用于执行所有sql语句,因此我们使用query()来进行表的创建、修改或者删除。$db= Typecho_Db::get(); $prefix = $db->getPrefix(); $db->query('create table '.$pr...
Typecho神奇的is语法 神奇的is语法typecho可以使用is语法判断很多东西,比如$this->is('index'); //判断首页 $this->is('archive'); //判断archive $this->is('single'); //判断为阅读页面page+post $this->is('page...
Typecho给你的编辑器添加字符统计 在主题functions.php文件中加入下面的代码即可,实际就是调用插件接口向文章编辑器页面插入css和js来实现的。Typecho_Plugin::factory('admin/write-post.php')->bottom = array('myyodu', 'one'); Typecho_Plugin::factor...
Typecho解决文章太短描述中暴露短代码的问题 以前还真没有注意这个问题,今天一位朋友测试上一篇文章的相关代码功能时候反馈的问题,这个问题可以说大也可以说不小。如果你的文章只要内容过多超过了网站描述截取的显示就不会出现这个问题,反之太短就会暴露相关自定义的短代码问题(例如短代码回复查看内容,这里就可以看到),如果你也被这个问题烦恼,可以通过下面的方法解决这个问题。问题截图使用说明可以在文章中手动避免这个问题出现那就是在短代码之前使用“&l...
typecho实现文章多个部分内容加密教程 typecho文章虽然自带了加密功能,可是有时候不太人性化,例如我想要显示部分内容,部分内容加密而且多个部分加密的密码不同。多个部分内容加密截图提交密码查看效果截图这篇文章就是为了解决上面提供的方案思路,具体各项细节需要开发者自行在进一步完善(例如添加 cookie,session 等缓存提交的密码实现在一定时间内不用重复输入等,下面的代码为了理解就没有添加)。具体实现代码把下面的代码添加到...
Typecho调用分类列表 使用Widget_Metas_Category_List即可列出所有分类。$obj = $this->widget('Widget_Metas_Category_List'); if($obj->have()){ while($obj->next()){ $obj->name(); ... ... }...
Mysql5.7升级至Mysql8教程 因为我用的是宝塔面板,下文就基于宝塔面板进行说明,其他面板的话也可做参考1,备份数据库备份数据库下载到本地,这样即便折腾过程中出现什么问题,数据也不会丢失。2,切换mysql版本在宝塔软件里面找到mysql点击设置,里面有版本切换的设置,切换至8.0它就会安装mysql8.0了,此时会提示让你先把数据库数据全删掉来进行升级,因为我们备份过了,所以可以放心大胆的删除所有数据,然后再去切换至my...
Typecho读取网站后台设置信息 教程一个简单的窍门教你如何读取后台设置信息,如下图所示我们用浏览器控制台查看页面元素,查看对应input熟悉看name值,网站地址的name值为siteUrl。那么网站地址调用就是<?php $this->options->siteUrl(); ?>或者<?php Helper::options()->siteUrl(); ?>;是不是很简单,想读取...
Typecho根据文章cid获取文章信息 如上图,就是基于这个功能,实现的轮播图,填写了文章cid,获取了文章标题,描述,缩略图和链接。其实这个功能,应该有很多人发过,不过大多都是需要写查询函数的,我呢因为懒,所以经过试验发现了这种不用自己写函数的写法。代码如下代码,其中cid=1就是获取cid为1的文章信息,可以改成你需要获取的文章cid。<?php $ji=Helper::widgetById('Contents...
Typecho让404页面直接返回首页 新建个404.php文件,里面写入下面的代码,然后将该文件放到你启用的这主题文件夹里就可以了。<?php if (!defined('__TYPECHO_ROOT_DIR__')) exit; $this->response->redirect($this->options->siteUrl); ?>注意事项:如果你启动了debug模式...
Typecho文章编辑器如何使用html语法 Typecho默认使用的是markdown编辑器,如果想在里面写html标签,简单的直接写就行比如居中这样写就行。<center>你要居中的文章或者图片</center>如果比较复杂的直接写可能不生效,可以使用三个!号就行包裹,如下方代码!!! 你的html内容 !!!其中!!!号单独占一行,这种!!!的语法是Typecho独有的,不是标准markdown语法!