分类目录归档:代码笔记

Typecho 多语言支持语言包下载

How to install language for your Typecho Check if the .po file for your language already exists. Download the .po file you need and convert it to machine-readable .mo file. You can do this with: Using poedit software Using gettext command: msgfmt <LANG>.po -o <LANG>.mo Using any other gettext software Upload it to path /usr/langs in your Typecho. If that folder doesn't exist, …

Typecho 配置 CDN 后获取访客真实 IP

一般站点在配置了CDN进行加速后都无法获取访客真实IP,只能获取CDN代理IP。此时会导致一系列问题,比如无法有效过滤广告等垃圾留言和封杀恶意攻击等等。。。 之前在网上找了一圈解决方法,发现不适用我的情况。今天又搜了一下,发现两篇文章,都是添加同一段代码到 Typecho 的 php 文件里,只不过添加的地方不一样(经测试,一个可行,一个不可行)。今天在这里给大家提个醒,添加到主题模板里 function.php 的方案是不可 …

Typecho 首页自动摘要正则表达式过滤图片

Typecho默认是全文输出的,想摘要的话,官方给出了最简单的方法,就是在你想截取的位置加上more标签即可。 但是这种方法在有图片文章的情况下摘要就会出现图片信息,也完全暴露了标签元素,影响美观,下面就给出了PHP正则表达式自动摘要的两种解决方法。 注:如果没有标签,会自动截取文章的前270字当作缩略输出。 编辑主题index.php文件,找到以下PHP <?php $this->content('阅读剩余部分...'); ?> 替换为你想 …

Typecho 自定义文章列表显示条数

做模板可能要限制某个分类文章显示条数,这个就需要用到这个代码了。 模板中定义 编写模板的 functions.php 文件,加入以下代码: function themeInit($archive) { if ($archive->is('category', 'jobs')) { //jobs为你的分类的slug名称 $archive->parameter->pageSize = 10; // 自定义条数 } }

Typecho 获取文章图片数量代码

在你的博客主题functions.php里面增加下面函数: function imgNum($content){ $output = preg_match_all("/<img.<em>?src="(.</em>?)"<sup id="fnref-1"><a href="#fn-1" class="footnote-ref">1</a></sup>*>/i", $content,$matches); $cnt = count( $matches[1] ); return $cnt; } 在你想显示的地方调用方法: <?php echo ''.imgNum($this->content).'' ; ?>

Typecho 实现键盘左箭头右箭头按键切换到上一篇下一篇文章

本文主要是通过JS脚本实现的,另外通过PHP自定义文章上一篇下一篇也可以实现类似效果,本文实现方式代码如下:<script>if(document.getElementsByClassName('post-near')[0].childNodes[1].innerHTML != '上一篇: 没有了') var pre_link = document.getElementsByClassName('post-near')[0].childNodes[1].childNodes[1].href; if(document.getElementsByClassName('post-near')[0].childNodes[3].innerHTML != '上 …

Typecho content内容无法复制大文件的修复

我早前给一个朋友测试过如果复制一个几兆大小的txt文本内容到typecho博客的文章中,很容易导致网页直接崩溃,即使最后保存发布成功,也会发现文章内容被拦腰截断,后面的很多内容都没有显示,这里主要是因为typecho的文章内容content字段用的是text类型,需要更改为MEDIUMTEXT类型即可。看到网上说一个200KB的文本,一篇文章65536*2个字装不下,所以如果你的文章内容太长而遭到截断,建议根据本文内容进行修改。

Typecho 代码实现将外链图片保存到本地

在服务器网站根目录下新建PHP文件,复制以下代码到你新建的文件内【注意:该文件会操作你的数据库,所以在操作前一定记得备份你的数据库,切记!!!】:<?php //connect to typecho database $curl = curl_init(); $res = mysql_connect('localhost', 'root', '1111');//数据库信息修改为你自己的数据库账号信息 $ret = mysql_select_db('typecho', $res);//typecho修改为你自己的数据库名称 $sql = "select * f …

正则表达式基础和简单的实例

正则表达式基础 方括号"["内是需要匹配的字符。 花括号"{"内是指定匹配字符的数量。 圆括号“(“ 则是用来分组的。 插入符号 “^” 表示正则式的开始。 美元符号“$” 表示正则式的结束。 常用运算符与表达式: ^ 开始 () 域段 [] 包含,默认是一个字符长度 [^] 不包含,默认是一个字符长度 {n,m} 匹配长度 . 任何单个字符(\. 字符点) | 或 \ 转义 $ 结尾 [A-Z] 26个大写字母 [a-z] 26个小写字母 [0-9] 0至9数字 [A-Za-z0-9] 26 …

Typecho 文章图片居中实现

Typecho默认情况下使用的是MarkDown编辑器,所以大部分主题也都没有去实现文章中图片居中,就TypechoTips写主题至今遇到的需要将图片居中的需求仍然不明显,不过仍然有少部分人可能需要到这个,我这里给出一个自己的做法,就是通过主题CSS样式表来实现文章图片的居中,在你的主题目录下的style.css中添加以下代码,具体看下面代码: #post img { margin:0 auto; display:block; } 上面的#post替换为你的文章div标签的id或 …

Typecho 留言板添加一个带留言条数气泡的读者墙

本教程主要教你如何不用插件给你的 Typecho 博客blog侧边或者留言板添加一个带读者留言次数气泡的读者墙。 具体效果看下图: 模板代码,放入你typecho模板 <div id="reader"> <h2 class="module-title"><strong>读者风云榜</strong></h2> <ul class="fno"> <?php $period = time() - 999592000; // 時段: 30 天, 單位: 秒 $counts = Typecho_Db::get()->fetchAll(Typecho_Db:: …

php 检测判断当前是否为微信浏览器

最近在开发一个网站,其中对于微信端访问有特殊事件处理,因此需要一段判断是否微信浏览器的代码,几经谷歌百度之后,总结出如下代码。很简单。记录一下以示备忘。 <?php /** php检测当前浏览器是否为微信浏览器 */ function is_wx_browser(){ if(strpos($_SERVER[‘HTTP_USER_AGENT‘],‘MicroMessenger‘)){ //判断微信浏览器为真 return true; } //此处为假 return false; } 在你需要判断的地方调用上面写好的函数即可 …

Typecho 的整体设计和文件结构

Typecho是一个由国人开发的小型单用户博客程序。它的设计思想介于过程式编程(如Wordpress)以及现代的完全面向对象编程(如laravel框架)之间,算是一个过渡的产品。另外,Typecho整体结构设计清晰完整,代码量也不大,对于像我这样的初学者而言,为了更好的理解PHP编程的前世今生以及响应编程思想的发展,Typecho的源代码应该是一个很好的学习研究对象。 看代码先就从整体结构入手。Typecho整体的设计很有层次和条理的 …

Typecho 修改数据库支持显示emoji表情?

typecho默认使用utf-8编码,utf-8使用3个字节进行存储,而emoji有4个字节,因此将utf-8转换为utf8mb4即可解决 注意:mysql的版本必须为v5.5.3或更高 在数据库执行以下查询: alter table typecho_comments convert to character set utf8mb4 collate utf8mb4_unicode_ci; alter table typecho_contents convert to character set utf8mb4 collate utf8mb4_unicode_ci; alter table typecho_fields convert to character s …

Typecho 非插件实现添加归档页面

食用方法:在当前主题根目录下自定一个模板,复制php部分到自定的模板中,在主题的header.php中引入css和js,然后新建页面,启用该模板即可,如果产生错误,请尝试关闭该页面评论开关。 由于本博客右键菜单的js与归档页面的js冲突,我没有引入此js,引入后会产生一个目录 <?php /** * archive * * @package custom */ $this->need('header.php'); ?> <div id="archives"> <div id="archives-content"&g …

Typecho 实现添加简繁切换功能

这个方法主要是通过JS实现,语法依然是简体语法,只是实现把中文简体字翻译成繁体字而已,请悉知。 首先下载JS文件:tw_cn.js.zip,并修改里面的内容: var defaultEncoding = 2; // 网站默认语言,1: 繁體中文, 2: 简体中文 var translateDelay = 0; //延迟时间,若不在前, 要设定延迟翻译时间, 如100表示100ms,默认为0 var cookieDomain = "https://vps100.net/"; //更改为你的博客网址 var msgToTraditionalChinese = " …

Typecho 显示用户文章总数量

在你的主题functions.php文件中加入如下函数function allpostnum($id){ $db = Typecho_Db::get(); $postnum=$db->fetchRow($db->select(array('COUNT(authorId)'=>'allpostnum'))->from ('table.contents')->where ('table.contents.authorId=?',$id)->where('table.contents.type=?', 'post')); $postnum = $postnum['allpostnum']; return $postnum; } 显示当前作者文章总数量调用代码如下(适用于po …

Typecho 增加Chrome浏览器消息提示

使用方法:打开后台-外观-设置外观-开发者设置-自定义输出body尾部的html代码其他主题-放在主题文件目录下的footer.php中的body尾部效果如本站有下脚所示使用代码:<script> var popNotice = function() { //获取用户授权状态 if (Notification.permission == "granted") { var notification = new Notification("Hi,欢迎光TypechoTips站", { //很明显这是正文 body: '各位小哥哥小姐姐添加了 …

Typecho Markdown解析器支持脚注

Typecho 最新版的Markdown编辑器已经支持脚注显示,在写文章的时候插入一下代码即可。TypechoTips[^1] [^1]: TypechoTips(typecho.tips)是一个专注于Typecho主题插件下载和功能开发的技术网站,网站主题和插件收集自互联网少数由网友自主投稿分享,Typecho技术类文章系站长收集自第三方博客和社区。 效果如下:TypechoTips1 TypechoTips(typecho.tips)是一个专注于Typecho主题插件下载和功能开发的技术网站,网站主题和插 …

Typecho 密码忘记修改办法

如果把typecho的后台登陆密码忘记了,目前我知道的就一种解决办法:从数据库修改。登陆服务器的phpmyadmin,如果数据库表头没有改的话,就找到下面的一张表:typecho_users找到想要改密码的账号,把相对应“password”字段的内容直接改成e10adc3949ba59abbe56e057f20f883e 这样,登陆密码就改成“123456”了。赶紧登陆后台重新换密码吧。你可能感兴趣:Typecho 管理员帐号密码忘了怎么办?教你修改方法Typecho 密码找回插件 L …

Typecho 文章密码保护显示标题方法

有时候发布文章时,想加密文章,又不想被蜘蛛抓取页面,或者想私底下分享一些东西,又或者你想付费阅读,此方法很好的解决上述一些问题。打开文件:var/Widget/Abstract/Contents.php定位到742行,$value['title'] = _t('此内容被密码保护');用//注释符注释掉以上代码即可实现。也可以根据上图,把'密码提示:Googlo.in'替换成你所需要的文字。预览:

Typecho 修改默认评论头像以及Gravatar镜像地址

Wordpress后台可以设置默认头像(如用户没有注册Gravatar,则显示通用标志),Typecho后台则没有,我们可以通过修改代码实现同样的效果。前提是你的主题是通过默认函数调用评论列表:<?php $comments->listComments(); ?> 确保主题文件comments.php中有上面的函数。然后开始修改/var/Typecho/common.php第937行;public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false) { $url …

Typecho 正则表达式首页自动摘要

Typecho默认是全文输出的,想摘要的话,官方给出了最简单的方法,就是在你想截取的位置加上标签即可。但是这种方法在有图片文章的情况下摘要就会出现图片信息,也完全暴露了标签元素,影响美观,下面就给出了PHP正则表达式自动摘要的两种解决方法。注:如果没有标签,会自动截取文章的前270字当作缩略输出。编辑主题index.php文件,找到以下PHP代码;<?php $this->content('阅读剩余部分...'); ?> 替换为你想实 …

Typecho 高级功能制作函数借鉴

下面给出typecho的一些高级函数,通过这些你可以引申出更多适合自己的功能(原文出处 sunhua.me):1,判断文章是否为最近3天更新<?php function timeZone($from){ $now = new Typecho_Date(Typecho_Date::gmtTime()); return $now->timeStamp - $from < 3*24*60*60 ? true : false; } ?> 调用如下:<?php if(timeZone($this->date->timeStamp)) echo 'New';?> 2,人性化评论时间<?php functio …