在此借花献佛,将dtdxrk的《原生Js 两种方法实现页面关键字高亮显示》(http://www.cnblogs.com/dtdxrk/p/3507875.html)进行简单整合将其应用于typecho搜索结果页关键词高亮。指定高亮范围,div上加id:searchpage,如<div id="searchpage">将以下代码放在页尾</body>前,也可以只放在a...
更新日期:2022-05-1235 人关注
一直很好奇,很多人的博客中都有“阅读时长 ≈ XX分钟”的字样,就奇怪他们是怎么统计出来的,原来是根据百度“一般人的阅读速度平均为(300~500)字/分钟”,然后取其中间也就是除以400得出来的。咱也赶一下时髦,也整一段阅读时长统计,代码如下:/** * 字数和预计阅读时间统计 * 调用举例:<?php echo countwords($this->content); ?> */ funct...
更新日期:2022-04-1772 人关注
博客的文章渐渐多了起来,之前随意的分类就需要好好想整理一下。为了图方便,直接在数据库里做了替换查询,不料typecho和WP一样,都会在metas表里存着分类和tag的统计信息,统计了这个分类下有多少篇文章,这个统计信息显示在分类和TAG管理页面。也就是说,如果正常再文章编辑里修改分类并保存,统计信息会走一加一减这个过程,而暴力数据库修改不会触发。而这种混乱导致老高的瞬间变身不搞不舒服斯基,下面我们一步一步来修...
更新日期:2022-04-1776 人关注
常用代码片段前前后后也写过几十个 Typecho 主题了,很多时候写到一半还是会去搜索 “Typecho 常用代码片段” 来做参考。但是,对于一些特殊的页面判断逻辑,搜索往往找不到想要的内容,这个时候,明白 Typecho 的 $this 里到底有什么,就非常有帮助了打印出 $this,挑重点看一下(输出内容太多,不一一展开了)$this->title //文章标题 $this->permalink...
更新日期:2022-04-1753 人关注
前言做主题的时候,经常用到 $this->category、$this->category() 和 $this->categories在文章详情页,$this->category 输出最靠前的一个直属分类,$this->categories 输出所有分类在 archive 页面,也就是类似 /category/typecho 的页面,$this->categories 的输出...
更新日期:2022-04-1756 人关注
前言制作 Typecho 主题时,经常用到一些没有现成获取方法的数据,需要自己组装数据库请求来获取本文借助 “获取 Typecho 站点全站文章总数” 这个例子,描述这一过程第一步:了解 Typecho 的数据库结构参见官方文档:《Typecho数据库设计》设计很简洁,这里不赘述,官方文档年久失修,建议参考着看一下自己的数据库比如 metas 表中的 parent 字段就没有出现在官方文档中我们要统计全站文章总...
更新日期:2022-04-1775 人关注
代码如下:< script> document.body.addEventListener('copy', function (e) { if (window.getSelection().toString() && window.getSelection().toString().length > 42) { setClipboardText(e); alert('商业转载请...
搜索已有解决方案想要在归档页面显示我发布的总的文章数量。简单搜了一下有下面四篇文章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-1757 人关注
下面的代码放在主题的 functions.php 文件中,在每个页面都能调用获取文章数量获取文章数量,不包含草稿和未公开的文章function postCount() { $db = Typecho_Db::get(); // 查询出文章数量并转换为数组 $count = $db->fetchRow($db->select('COUNT(*)')->from('tabl...
更新日期:2022-04-1761 人关注
介绍上次给大家分享过如何将博客数据库从Mysql转化未Sqlite,这次就给大家说一下如何从Sqlite转成Mysql,博主的Typecho一直使用的MySQL数据库,突然想起Typecho也同时支持SQLite这种单文件的数据库,反正网站访客也不多,就想着换成SQLite试试看,主要是备份也方便,不用再去单独备份一个数据库了,想了很久没动手,最近待在家左右无事,那就抱着折腾的心态动手试试吧;注意:操作之前一定...
更新日期:2022-04-1799 人关注
前言据我所知,使用Mysql的人比较多,很多插件支持Mysql但不支持SQlite,这就是我更换的原因SQLite 的优点在中小网站CMS应用场景下表现突出:1、与MySQL相比,它更彻底的免费,并且没有任何使用上的限制2、非常小巧,PHP5以上版本中无需任何配置即可支持SQLite3、无需单独购买数据库服务,无服务器进程,配置成本为零4、整个数据库存储在一个单个的文件中,数据导入导出备份恢复都是复制文件,维护...
更新日期:2022-04-1769 人关注
Typecho分页标题加页码,最近优化了一下网站,网站标题有点小bug,就是会重复,这样不利于seo用下面的代码可以解决这个问题<?php if($this->_currentPage>1) echo '第'.$this->_currentPage.'页'; ?> 如果翻页大于1就输出第x页
更新日期:2022-04-1779 人关注
在插件开发中经常需要获取插件的代码片段,比较版本信息什么的以便提示升级。代码示例:Typecho_Widget::widget(‘Widget_Plugins_List@activated’, ‘name=插件名称’)->version; 以上是获取某插件的版本信息,跟多的参数可以通过打印 Typecho_Widget::widget(‘Widget_Plugins_List@activated’, ‘n...
更新日期:2022-04-1763 人关注
获取某个分类下的文章列表$category = $this->widget(‘Widget_Archive@category’, ‘pageSize=6&type=category’, ‘mid=1’); while($category->next()){ // todo here … … } mid表示分类id,type指定获取分类文章获取某关键词的搜索结果$search ...
更新日期:2022-04-1773 人关注
Typecho大部分请求的路由,都会转发到Widget_Archive中,在execute()函数中,即大概1357行处,有如下代码:/** 初始化皮肤函数 */ $functionsFile = $this->_themeDir . ‘functions.php’; if (!$this->_invokeFromOutside && file_exists($functionsFi...
更新日期:2022-04-1754 人关注
表创建和删除在 Typecho 插件开发过程中,往往需要创建表。可以使用 query() 来进行表的创建、修改或者删除。$db= Typecho_Db::get(); $prefix = $db->getPrefix(); $db->query('create table '.$prefix.'metas xxxxx');使用 query 方式创建表的时候,需要在表明前手动添加 $prefix 前缀...