分类目录归档:代码笔记

Typecho 用一个程序建多个网站

首先绑定两个域名(以下称 A域名 和 B域名)到空间目录上。接着把typecho上传到空间里,打开 A域名 时,typecho就会自动检测并开始安装,安装是请修改数据库表前缀为 A_ ,安装过程非常顺利。安装完后,把程序自动生成的文件config.inc.php下载下来备份,并删除服务器上的config.inc.php。然后,用 B域名 打开网站,此时,typecho会再度自动检测并开始安装,此时请修改数据库表前缀为 B_ ,安装过程也一样非常的顺利。再 …

Typecho 自定义分页样式

增加更加多样的分页输出样式选项,包括wrapTag 外层包裹标签名,默认olwrapClass 外层包裹类名itemTag 内层标签名, 默认litextTag 直接输出文字的标签名currentClass 当前聚焦类名prevClass 上一页类名nextClass 下一页类名方法一:<?php $this->pageNav('«', '»', 3, '...', array('wrapTag' => 'ol', 'wrapClass' => 'page-navigator', 'itemTag' => 'li', 'textTag' => 'span', 'currentClass' =&g …

Typecho 模板文件结构说明

文件名 作用 必须style.css 主题样式文件 否screenshot.png 主题缩略图 否index.php 首页以及说明文件 是404.php 404页面文件 否archive.php 通用(分类、搜索、标签、作者)页面文件 否category.php 分类页面文件 否search.php 搜索页面文件 否tag.php 标签页面文件 否author.php 作者页面文件 否comments.php 评论页面文件 否footer.php 底部页面文件 否functions.php 主题函数文件 否header.php 头部页面文件 否page.p …

Typecho 非插件实现友情链接页面

通常友情链接我都是写死的,但是制作的主题因为要公开给大家用,所以很多童鞋表示写死了不方便修改,于是花了点时间折腾了一下,方便大家使用。首先使用该代码之前,请先确认你的页面里的友情链接最终输出格式是这样的:<ul> <li><a href="https://www.baidu.com">baidu</a></li> <li><a href="https://www.baidu.com">baidu</a></li> <li …

Typecho 实现 ajax 评论功能

Typecho 评论实现 Ajax 有个插件 AjaxComments ,不过有些网友反馈说该插件有小 bug,不太好用,所以就产生了下面的这段代码,大家可以直接复制以下的修改版代码,在公共 js 中调用 ajaxComments() 方法即可。function ajaxComment() { var selector = { commentMainFrame: '#comment', commentList: '#commentlist', commentNumText: '#comment h3', commentReplyButton: '#comment span.reply', submitForm: '#commentf …

Typecho 评论列表加 @ 功能

有时候我们需要给自己的评论列表加入一些个性化元素,比如评论列表添加@功能,就可以通过下面这个方法实现:function get_comment_at($coid) { $db = Typecho_Db::get(); $prow = $db->fetchRow($db->select('parent')->from('table.comments') ->where('coid = ? AND status = ?', $coid, 'approved')); $parent = $prow['parent']; if ($parent != "0") { $arow = $db->fetchRow($db->sele …

Typecho 获取文章第一张图片

TypechoTips 之前有写过 Typecho 获取文章第一张图片的实现方式,可参考:Typecho 获取文章第一张图片做缩略图,但是原方法只限在部分编辑器环境下使用,有时候换成其它的 Markdown 编辑器可能就无法获取文章,所以今天TypechoTips再来给大家送上一些测试通过的代码,根据Markdown和HTML语法都能实现的图片调用方法。将下列代码复制到主题目录下的 functions.php 文件中即可。function getPostImg($archive) { $cid = $ar …

Typecho 首页向下滚动无限加载文章

由于 Typecho 相比 WordPress,所提供的接口较少,有时候为了达到某种功能只能自己通过调用数据库数据实现,今天给大家讲的是 Typecho 首页文章列表无限加载的实现,有时候我们会遇到访问一些网站他的文章列表随着我们的向下滚动自动加载,其实就是检测到滚动到底部重新向服务器发送请求,获取新的数据添加到当前数据列表底部。Typecho 上的实现也是类似这种,具体操作步骤请阅读下文:首先在主题目录下的 functions.php …

Typecho 统计当前分类和子分类文章总数

Typecho 发布一篇文章,然后只勾选子分类,然后发布,父分类输出分类的文章数量,并没有包含这个新发布的文章。那么如果我们希望调用父分类时获取显示的所有子分类和父分类下文章的总数怎么实现呢?直接上代码,在主题目录下的 functions.php 文件新增如下函数:function cateNum($id){ $db = Typecho_Db::get(); $po=$db->select('table.metas.count')->from ('table.metas')->where ('parent = ?', $id)->o …

Typecho 人性化评论时间 多少秒/多少天/多少时发帖代码

我们上篇给大家说到了Typecho 实现类似微博几分钟、几天前的词义化时间,这篇再给大家说一下给评论如何确定评论发布的时间,原理和上篇一样,都是在主题目录下的 functions.php 文件里新增时间处理函数,函数内容如下:function timesince($older_date,$comment_date = false) { $chunks = array( array(86400 , '天'), array(3600 , '小时'), array(60 , '分'), array(1 , '秒'), ); $newer_date = time(); $since = abs …

Typecho 实现类似微博几分钟、几天前的词义化时间

有些时候我们可能不想博客文章发布的时间太单调的显示年月日,我们希望显示文章发布距离现在几分钟几小时几天几月,那么就需要今天的方法实现,原来就是把文章发布时间传递给主题目录下的 function.php 里我们写好的函数,在该函数里对时间进行格式化处理。我们需要在主题目录下的 function.php 文件里新增下面的函数:function getDayAgo($date){ $d = new Typecho_Date(Typecho_Date::gmtTime()); $now = $d->format …

Typecho 记住评论者"称呼" "邮箱" "网址"

经常逛别人的博客然后留言的时候发现,每次留言完以后 "称呼" "邮箱" "网址" 会自动填上上一次填写的内容,就好像一个“记住我”或者说是“自动登陆”的功能。省去了很多时间(想想每次评论留言都要填一次"称呼" "邮箱" "网址" 那是真心累啊),所以不妨将这个小功能加到你的博客去吧!实现方法方法一、Typecho 系统默认方法【推荐】给主题目录下的 comments.php 文件里的 input 添加方法,代码如下:<input type="te …

Typecho 如何禁止网站内容被复制

有的时候我们不想网站的内容或者说文章的内容被复制,那么这一段代码可以帮助你去实现,不过。这并不能完全的阻止网站内容被搬走,因为稍微有点技术能力的人,或者愿意花点时间的人一样可以通过比如查看网站源码等方法来获得内容。实现方法:方法一、禁止网站内容被选中<script type="text/Javascript"> <!-- document.oncontextmenu=function(e){return false;}; document.onselectstart=function(e){ …

Typecho 注册邮箱验证插件 MailValidate

一个邮箱验证插件,注册验证成功后,会自动升级为贡献者,可以发布文章(需审核)。下载后,重命名为 MailValidate 上传到插件目录,后台启用,并输入smtp相关信息即可。安装说明上传到/usr/plugins/ (包括文件夹)控制台 - 插件 处启用 MailValidate插件列表右边的设置 设置好SMTPEnjoy it!使用说明您可以在插件目录下找到mail.html 、 success.html 和 fail.html 三个文件分别对应邮件内容、验证成功和验证失败三个模 …

Typecho 主题添加鼠标点击出现“富强”民主“富强”特效

将代码放在主题的footer.php中的 < /body> 之前即可<script type="text/javascript"> /* 鼠标特效 */ var a_idx = 0; jQuery(document).ready(function($) { $("body").click(function(e) { var a = new Array("富强", "民主", "文明", "和谐", "自由", "平等", "公正" ,"法治", "爱国", &q …

Typecho 加密日志显示标题

Typecho使用密码加密的日志,默认连标题都加密了,直接显示“此内容被密码保护”。修改Typecho加密日志显示标题的方法:打开文件:var/Widget/Abstract/Contents.php 找到$value['title'] = _t('此内容被密码保护'); //注释掉这行就ok了 效果如下:此内容被密码保护请输入密码访问

Typecho 自定义网页鼠标样式

可能你在很多博客看到里面使用了很丰富的鼠标样式,其实你也可以的,只要修改 Typecho 主题的样式表文件就可以实现,比如 TypechoTips 的主题里是 main.css,在body标签位置新增下面代码:body { cursor:url('鼠标指针图片链接'), auto; } select, input, textarea, a, button { cursor:url('鼠标指针图片链接'), auto; } input[disabled], select[disabled], textarea[disabled], input[readonly], select[readonly] { c …

Typecho 博客添加“心知天气”网页天气插件教程

心知天气 提供基于Web的免费天气插件,可以为你的网站添加一项简洁美观的天气预报功能,并自动适配PC和手机上的浏览。首先需要自己注册一个心知天气的账号,具体怎么注册这里就不再赘述,大家自行注册。注册好以后登陆你的账号,进入网页天气插件页面,点击立即创建,即进入到插件配置页面,可以在页面进行配置和预览,看下图:<script>(function(T,h,i,n,k,P,a,g,e){g=function(){P=h.createElement(i);a=h.getEle …

Typecho 用 Telegram 获取评论通知的配置教程

每一个有博客的人都希望自己能够收到别人的评论吧,而且也希望能够第一时间收到评论的提示信息。这里就给经常使用 Telegram 的朋友们一个利用 Telegram Bot 来实现通知评论消息的功能的机会,操作也不复杂,可以自己试着配置一个哦。开始首先你需要有以下的东西:Telegram 账号Typecho 博客Comment2Telegram 插件安装安装插件估计也不是很难的事情吧:下载 zip 打包文件解压 /Comment2Telegram 插件把文件夹丢进 Typecho/ …

Typecho 创建独立搜索页面

如何给 Typecho 主题添加独立搜索页面,可以使用下面代码:<?php /** * Template Page of Search * * @package custom */ if (!defined('__TYPECHO_ROOT_DIR__')) exit; $this->need('header.php'); ?> <div class="main-content page-page"> <div class="search-page"> <form id="search" class="search-form" method="post" action="& …

Typecho 获取文章最后更新时间

获取文章的发布的时间戳$this->created(); 获取文章的发布时间$this->date('F jS , Y \\a\t h:i a'); 输出:March 22nd , 2016 at 02:48 am获取文章的更新的时间戳$this->modified(); 获取文章的更新时间echo date('F jS , Y \\a\t h:i a' , $this->modified); 输出:March 22nd , 2016 at 02:51 am