Ethan's Blog

不负好时光

代码禁止/移除最新版本WordPress的Emoji功能

random featured image 19

WordPress 从4.2版本开始,为了兼容在一些旧浏览器上显示 Emoji 表情图标会在网页的 head 部分自动加载一部分代码用于支持 Emoji 表情的正常显示。然而这个功能对于大部分 WordPress 用户来说显得特别鸡肋,对于当前最新版本4.9.8的 WordPress 可以使用以下代码移除/禁用 Emoji 功能,对 WordPress 加载速度进行优化。Emoji 功能相关代码和文件基本通过 WordPress 的 filter 和 action 添加,通过显示 filter 和 action 钩子上的所有函数,相应的可以将移除代码写出来: Read More …

WordPress显示filter和action钩子上的所有函数

random featured image 7

WordPress 主题开发或者插件开发时,有时需要列出页面 filter 和 action 钩子上的所有函数,以便调试。主题开发中,将以下代码添加到 functions.php 末尾,即可在访问页面的时候列出 WordPress 钩子上的所有函数:

global $wp_filter;
echo "<pre>" . print_r($wp_filter, true) . "</pre>";

上面的代码会显示附加到 WordPress 所有 filter 和 action 钩子上的函数,而如果想要显示某个 hook 钩子上的函数,则将以下代码添加到 functions.php 末尾: Read More …

4+ 方式使用WordPress的循环

wordpress-loops

WordPress主题模板的核心是令人敬佩的 WordPress 循环。 例如,当您查看 index.php 文件时,循环是通常以 if(have_posts())开头并包含用于生成页面的所有标记和网页标签的那个部分。 默认循环适用于大多数只需要单个循环的主题,但对于具有多个或自定义循环等内容的更高级的主题设计,需要更强大的循环功能。 幸运的是,WordPress 为循环提供了足够的灵活性,有四种或五种循环的方式: Read More …

Hexo相关文章的代码实现

random featured image 8

以前使用WordPress的时候,每次自己写主题总要加上一个功能:相关文章。总感觉用户看完文章后可能会想看看还有什么相关的文章,以便更加全面的了解这个问题。转到Hexo后,虽然说我现在对Hexo还不是很熟悉,但也摸索着写了一个主题,今天花了一个下午的时间,也为自己Hexo博客加上了相关文章功能。

相关文章的实现方式大概可以分为两个大类:一是使用第三方服务,例如无觅、友荐、bShare、阿里云的云推荐以及百度推荐等。这种方式的优点是对相关文章的分析可能更强大,在如何定义文章是否相关上可能更加全面,缺点是需要引入较多的外站js文件等。第二类是自己写代码实现。现在网上对Hexo的相关文章实现第一类的文章非常多,而我更倾向于使用第二种方法,于是下午自己代码实现了Hexo的相关文章功能。 Read More …

CodeIgniter的多语言实现

random featured image 15

学习和使用CodeIgniter进行Web开发已经有一段时间了,自己也做过一些项目,对CodeIgniter的各种优缺点也有了更多的认识。最近在对自己以前写的一个网站进行重构,其中要实现的功能之一就是网站的多语言实现。以前采用的方案并没有使用到CodeIgniter的语言类,而是用了比较笨的方法来做这个事情,现在随着姿势水平的提高,将更好的实现方法记录和分享一下。 Read More …

CodeIgniter将所有上传文件识别为application/octet-stream的问题

random featured image 2

最近使用 CodeIgniter 的文件上传类时,遇到了一个问题,不管上传什么类型的文件,都会提示“The filetype you are attempting to upload is not allowed.”。实际上,我已经在文件上传类的配置中,将所需要上传的文件类型写到了 allowed_types 的配置项中。而且,通过开启 CodeIgniter 的调试信息($this->output->enable_profiler(TRUE);),发现不管上传的是什么类型的文件,CodeIgniter 都会将文件识别为 application/octet-stream 的类型。搜集了一些资料,原来原因是PHP的配置问题,也就是说PHP没有能力识别上传的文件的类型,自然 CodeIgniter 也就无法识别文件类型了,最后把解决办法分享如下: Read More …

凿壁偷光

random featured image 3

上一篇文章说到在学习Python,实际上是为了实现一个目的:统计shadowsocks多用户的流量。这段时间经历了自己的期末考试,经历几个项目的赶工,我自己的新的项目也终于发布了。学习了一段时间的Python,然后经过这个项目,感觉对Python也算是入门了哈哈。

新发布的项目我取名为 “凿壁偷光” ,目的在于帮助大家自由获取谷歌搜索、谷歌学术等服务,特别的来说,我的帮助对象更集中在高校师生这一块。真的对于高校师生来说,没有谷歌学术、没有谷歌网页搜索的日子简直都不能好好学术了好嘛。 Read More …

Python 入门教程

random featured image 26

已经决定学习Python很久了,这几天一直被一个问题困扰,需要解决,可能Python是一个很好的方式。晚上去图书馆也没发现有比较好的书,于是网上找了找,感觉还不错,推荐给大家。

简明 Python 教程:

http://woodpecker.org.cn/abyteofpython_cn/chinese/index.html

Python 教程:

http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000

推荐从第一个开始看,可能因为我接触过的语言比较杂和多,晚上花了四个小时左右边看边操作,已经有点入门的感觉了。第二个教程更加详细和深入点,可以先看完第一个然后有选择地看第二个。

谷姐么么哒

random featured image 11

上周五在办公室的时候,听大师姐在那边说使用hosts的方式使用谷歌网页搜索又出现问题了,我才想起来我在寒假的时候有做过一个谷歌网页搜索的反向代理,于是推荐给了办公室师兄师姐使用。周末看大师赛的时候又在v2ex上看到GitHub Student Developer Pack的活动,拿到了DO的一百美元的抵用券和NameCheap的免费获得.me域名一枚的机会,于是想着好好利用这个资源,那么做什么呢?想到来朋友们对谷歌的需求,于是就有了做一个可用的谷歌网页搜索和谷歌学术给朋友用的想法。

先把网址亮出来:

谷歌网页搜索:http://goojie.me/

谷歌学术:http://scholar.goojie.me/

中文名叫“谷姐”,取名灵感要感谢某人!由名字就知道和谷歌关系不一般哈。 Read More …