常用代码片段前前后后也写过几十个 Typecho 主题了,很多时候写到一半还是会去搜索 “Typecho 常用代码片段” 来做参考。但是,对于一些特殊的页面判断逻辑,搜索往往找不到想要的内容,这个时候,明白 Typecho 的 $this 里到底有什么,就非常有帮助了打印出 $this,挑重点看一下(输出内容太多,不一一展开了)$this->title //文章标题 $this->permalink...
更新日期:2022-04-171111 人关注
前言做主题的时候,经常用到 $this->category、$this->category() 和 $this->categories在文章详情页,$this->category 输出最靠前的一个直属分类,$this->categories 输出所有分类在 archive 页面,也就是类似 /category/typecho 的页面,$this->categories 的输出...
更新日期:2022-04-17971 人关注
前言制作 Typecho 主题时,经常用到一些没有现成获取方法的数据,需要自己组装数据库请求来获取本文借助 “获取 Typecho 站点全站文章总数” 这个例子,描述这一过程第一步:了解 Typecho 的数据库结构参见官方文档:《Typecho数据库设计》设计很简洁,这里不赘述,官方文档年久失修,建议参考着看一下自己的数据库比如 metas 表中的 parent 字段就没有出现在官方文档中我们要统计全站文章总...
更新日期:2022-04-171002 人关注
代码如下:< script> document.body.addEventListener('copy', function (e) { if (window.getSelection().toString() && window.getSelection().toString().length > 42) { setClipboardText(e); al...
更新日期:2022-04-171043 人关注
搜索已有解决方案想要在归档页面显示我发布的总的文章数量。简单搜了一下有下面四篇文章https://zezeshe.com/archives/typecho-author-postsnum.htmlhttps://zezeshe.com/archives/typecho-author-allpostsnum.htmlhttps://liudm.cn/04.htmlhttps://www.dpaoz.com/57看...
更新日期:2022-04-17904 人关注
下面的代码放在主题的 functions.php 文件中,在每个页面都能调用获取文章数量获取文章数量,不包含草稿和未公开的文章function postCount() { $db = Typecho_Db::get(); // 查询出文章数量并转换为数组 $count = $db->fetchRow($db->select('COUNT(*)')->...
更新日期:2022-04-171304 人关注
介绍上次给大家分享过如何将博客数据库从Mysql转化未Sqlite,这次就给大家说一下如何从Sqlite转成Mysql,博主的Typecho一直使用的MySQL数据库,突然想起Typecho也同时支持SQLite这种单文件的数据库,反正网站访客也不多,就想着换成SQLite试试看,主要是备份也方便,不用再去单独备份一个数据库了,想了很久没动手,最近待在家左右无事,那就抱着折腾的心态动手试试吧;注意:操作之前一定...
更新日期:2022-04-171244 人关注
前言据我所知,使用Mysql的人比较多,很多插件支持Mysql但不支持SQlite,这就是我更换的原因SQLite 的优点在中小网站CMS应用场景下表现突出:1、与MySQL相比,它更彻底的免费,并且没有任何使用上的限制2、非常小巧,PHP5以上版本中无需任何配置即可支持SQLite3、无需单独购买数据库服务,无服务器进程,配置成本为零4、整个数据库存储在一个单个的文件中,数据导入导出备份恢复都是复制文件,维护...
更新日期:2022-04-171456 人关注
Typecho分页标题加页码,最近优化了一下网站,网站标题有点小bug,就是会重复,这样不利于seo用下面的代码可以解决这个问题<?php if($this->_currentPage>1) echo '第'.$this->_currentPage.'页'; ?> 如果翻页大于1就输出第x页
更新日期:2022-04-17954 人关注
在插件开发中经常需要获取插件的代码片段,比较版本信息什么的以便提示升级。代码示例:Typecho_Widget::widget(‘Widget_Plugins_List@activated’, ‘name=插件名称’)->version; 以上是获取某插件的版本信息,跟多的参数可以通过打印 Typecho_Widget::widget(‘Widget_Plugins_List@activated’, ‘n...
更新日期:2022-04-171154 人关注
获取某个分类下的文章列表$category = $this->widget(‘Widget_Archive@category’, ‘pageSize=6&type=category’, ‘mid=1’); while($category->next()){ // todo here … … } mid表示分类id,type指定获取分类文章获取某关键词的搜索结果$search ...
更新日期:2022-04-171206 人关注
Typecho大部分请求的路由,都会转发到Widget_Archive中,在execute()函数中,即大概1357行处,有如下代码:/** 初始化皮肤函数 */ $functionsFile = $this->_themeDir . ‘functions.php’; if (!$this->_invokeFromOutside && file_exists($functionsFi...
更新日期:2022-04-17908 人关注
表创建和删除在 Typecho 插件开发过程中,往往需要创建表。可以使用 query() 来进行表的创建、修改或者删除。$db= Typecho_Db::get(); $prefix = $db->getPrefix(); $db->query('create table '.$prefix.'metas xxxxx');使用 query 方式创建表的时候,需...
更新日期:2022-04-171185 人关注
在functions.php中添加自定义字段:function themeFields($layout) { $title = new Typecho_Widget_Helper_Form_Element_Text('title', NULL, NULL, _t('测试字段'), _t('这是测试字段')); $lay...
更新日期:2022-04-13677 人关注
大家都知Typecho后台上传附件后是看不到图片的,如果一次性上传太多张图片可能分不清哪张,这里可以通过修改Typecho源码来实现附件图片缩略图预览,效果如下:具体实现步骤如下:下面这段代码块放入admin/file-upload.php第25行</div>后。<p><img src="<?php $attachment->attachment->ur...
更新日期:2022-04-12894 人关注
前两天分析 typecho 的数据表时,发现 tag 和 分类在通过一张表(typecho_metas)内,那么就和分类一样都有 description 字段,那为啥不给标签也加个描述呢?!想必对 SEO 优化也有点帮助吧(小白见解,maybe 是反作用,勿信)!找出 分类 和 tag 后台编辑文件在系统文件夹 admin 文件夹下找到 category.php 和 manage-tags.php , 发现分别...
更新日期:2022-04-121035 人关注