iGoogler 优化教程(四):手写侧边栏提速

这个教程主要是方便和我一样使用 iGoogler 主题的人,能给自己的站点提一下速。因为一个效率优化做得那么好的主题,如果你还觉得速度慢,那真的是你不会使用了。WordPress 小工具其实是速度变慢的根源之一,因为这会引发许许多多的数据查询。所以,尝试自己手写 SideBar 吧,这并不难。而且,这样也有利于我们使用 WordPress Transients APIWordPress Object Cache 等缓存。

如果你不会写,那么可以参考我的:

打开主题的 sidebar_l.php,全部替换为:

<h3 class="lbar_title">
	<a><?php _e('分类目录')?> </a>
</h3>
<div class="lbar_content">
	<ul>
		<?php wp_list_categories('show_count=1&hierarchical=1depth=2&title_li='); ?>
	</ul>
</div>
<h3 class="lbar_title">
	<a><?php _e('时间选择');?> </a>
</h3>
<div class="lbar_content">
	<ul>
		<?php wp_get_archives(); ?>
	</ul>
</div>
<h3 class="lbar_title">
	<a><?php _e('标签云')?> </a>
</h3>
<div class="lbar_content">
	<ul>
		<?php wp_tag_cloud('smallest=10&largest=14&number=20&order=RAND'); ?>
	</ul>
</div>
<h3 class="lbar_title">
	<a class="current"><?php _e('友情链接')?> </a>
</h3>
<div class="lbar_content" style="display:block;">
	<ul>
		<?php wp_list_bookmarks('title_li=&categorize=0');?>
	</ul>
</div>
<div class="line"></div>

打开主题的 sidebar_r.php,全部替换为:

<h3>最新文章</h3>
<ul>
	<?php echo get_latest_posts_igoogler(5); ?>
</ul>
<h3>随便看看</h3>
<ul>
	<?php echo get_random_posts_igoogler(5); ?>
</ul>
<h3>最受欢迎</h3>
<ul>
	<?php
	$most_comments_posts_data = get_transient('most_comments_posts');
	if(false === $most_comments_posts_data){
		$most_comments_posts_data = get_most_comments_posts_igoogler(5);
		set_transient('most_comments_posts', $most_comments_posts_data, 86400);
	}
	echo $most_comments_posts_data;
	?>
</ul>

效果可参考本站。

沁园春 • 放学

今天在网上看到一个很有意思的段子,在接送回家的路上,深有所感,略作修改:

放学路上,千里车流,万里人潮。望大街内外,车行如龟,司机烦躁,一步不动,总是红灯憋出尿。交通如此多焦,引无数学生上公交。惜奥迪A6,慢如蜗牛。奔驰宝马,无处发飙。一代天骄,兰博基尼,泪看电驴子把车超。俱往矣,还数自行车,边蹬边笑。

其实这首诗有点儿万能,很多都能套上去。

iGoogler 优化教程(三):巧用 PostMeta 提速

这个教程主要是方便和我一样使用 iGoogler 主题的人,能给自己的站点提一下速。因为一个效率优化做得那么好的主题,如果你还觉得速度慢,那真的是你不会使用了。

下面我将以 iGoogler 主题的“相关文章”为例,说一下如何巧用 PostMeta 提速。

我们知道 “相关文章”的获取原理是通过文章的 Tags 来获取相关文章,相同的 Tag 越多,相关性越强,这样就需要进行大量的数据查询,大大降低了站点的效率。但是,一篇文章,在短时间内,它的“相关文章”是不会变动的。所以我们就可以使用缓存对“相关文章”进行加速。

第一个方法是使用 WordPress Object Cache,这个方法需要配合服务器设置或插件,,否则基本没用,这也许会令某些人大感不爽。

所以下面我就要讲第二个方法——巧用 PostMeta:

PostMeta 加速原理

我们知道,PostMeta 表是用来存储 Post 其他自定义字段,比如你可以在 WordPress 编辑界面自定义字段那里使用它。那么我可以把当前文章的“相关文章”数据写到 PostMeta 中去,并记录写入的时间。然后再取出,就可以达到加速的效果。

巧用 PostMeta 提速

下面是把“相关文章”的数据写入缓存(PostMeta)的例子,缓存时间为一个小时,即 3600 秒。

打开主题的 loop_single.php,将

<?php echo wp_get_related_posts_igoogler(10); ?>

替换为

<?php
global $id;
$related_posts_data_old = get_post_meta($id, "related_posts", $single = true);
if($related_posts_data_old){
	$time = time();
	if(($time - $related_posts_data_old["time"]) < 3600){
		echo $related_posts_data_old["related_posts"];
	}
}else{
	$related_posts_data = wp_get_related_posts_igoogler(10);
	$related_posts_data_new = array("time"=>time(), "related_posts"=>$related_posts_data);
	if($related_posts_data_old){
		update_post_meta($id, 'related_posts', $related_posts_data_new);
	}else{
		add_post_meta($id, 'related_posts', $related_posts_data_new, true);
	}
	echo $related_posts_data;
}
?>

代码大意是:如果在缓存(PostMeta)中找不到数据,就查询数据库,然后再将数据写入缓存,并设定过期时间为一个小时,即 3600 秒;如果找得到缓存,并且缓存没有过期,就直接使用缓存的数据。

祝大家中秋快乐

祝大家中秋快乐

据说今年中秋最圆月,下一次要等8年,所以我也拍张照,显摆一下,没器材,凑合着吧

中秋圆月

iGoogler 优化教程(二):使用 WordPress Transients API

这个教程主要是方便和我一样使用 iGoogler 主题的人,能给自己的站点提一下速。因为一个效率优化做得那么好的主题,如果你还觉得速度慢,那真的是你不会使用了。

WordPress Transients API 简介

Transients 是瞬时的意思,WordPress 的 Transients API 就是 WordPress 用来存储一些缓存的数据到数据库中最简单也是最标准的方法,Transients API 给这些缓存的数据一个过期时间,并且时间到就会自动删除,所以如果你需要存储一些有生命周期的选项的时候,Transients API 就是最好的选择。

更让人感到欣喜的是,WordPress Transients API 不需要配合任何的服务器设置和插件。

使用 WordPress Transients API

下面我将以 iGoogler 主题的“最多评论的文章”为例,说一下如何使用 WordPress Transients API。

我们知道 “最多评论的文章”的获取需要进行大量的数据查询,大大降低了站点的效率。但是在短时间内,一个博客的“最多评论的文章”是不会变动的,所以我们就可以使用 WordPress Transients API 对“最多评论的文章”进行加速。

下面是把“相关文章”的数据写入缓存的例子,缓存时间为一天,即 86400 秒。

打开主题的 sidebar_r.php,将

<?php echo get_most_comments_posts_igoogler(5);?>

替换为

<?php
$most_comments_posts_data = get_transient('most_comments_posts');
if(false === $most_comments_posts_data){
	$most_comments_posts_data = get_most_comments_posts_igoogler(5);
	set_transient('most_comments_posts', $most_comments_posts_data, 86400);
}
echo $most_comments_posts_data;
?>

代码大意是:如果在缓存中找不到数据,就查询数据库,然后再将数据写入缓存,并设定过期时间为一天,即 86400 秒;如果找得到缓存,并且缓存没有过期,就直接使用缓存的数据。

由于我的博客较小,所以不需要太短的时间(在短时间内不会变动),如果你的博客较大,并且配上了其他缓存插件,你可以尝试使用“我爱水煮鱼”推荐的一个值——12 小时,即 43200 秒。

iGoogler 优化教程(一):使用 WordPress Object Cache

这个教程主要是方便和我一样使用 iGoogler 主题的人,能给自己的站点提一下速。因为一个效率优化做得那么好的主题,如果你还觉得速度慢,那真的是你不会使用了。

WordPress Object Cache 简介

WordPress Object Cache(WordPress 对象缓存)是 WordPress 自身的缓存机制,它的主要功能是把负责查询或者运算的结果按照 Key-Value 这样的方式(WordPress 还支持按照 Group 来划分和避免缓存的内容冲突)存储到对象里面,下次进行同样操作的时候,可以让直接从这个对象中取出数据,不用重复到数据库中或者其他外部网站获取数据。

由于 WordPress Object Cache 的特性,这个自身的缓存机制注定要配合服务器设置(财大气粗呀~)以及插件。如果你和我一样,没办法接触到类似于 Memcached 之类的东西的话,我推荐你使用 WP File Cache,他能帮助你把数据查询缓存到文件中。这样效率和速度都非常快的。如果不配合服务器设置和插件的话,个人感觉是没有什么作用的。

使用 WordPress Object Cache

下面我将以 iGoogler 主题的“相关文章”为例,说一下如何使用 WordPress Object Cache。

我们知道 “相关文章”的获取原理是通过文章的 Tags 来获取相关文章,相同的 Tag 越多,相关性越强,这样就需要进行大量的数据查询,大大降低了站点的效率。但是,一篇文章,在短时间内,它的“相关文章”是不会变动的,所以我们就可以使用 WordPress Object Cache 对“相关文章”进行加速。

下面是把“相关文章”的数据写入缓存的例子,缓存时间为一个小时,即 3600 秒。

打开主题的 loop_single.php,将

<?php echo wp_get_related_posts_igoogler(10); ?>

替换为

<?php
global $post;
$related_posts_data = wp_cache_get($post->ID, 'related_posts');
if(false === $related_posts_data){
	$related_posts_data = wp_get_related_posts_igoogler(10);
	wp_cache_set($post->ID, $related_posts_data, 'related_posts', 3600);
}
echo $related_posts_data;
?>

代码大意是:如果在缓存中找不到数据,就查询数据库,然后再将数据写入缓存,并设定过期时间为一个小时,即 3600 秒;如果找得到缓存,并且缓存没有过期,就直接使用缓存的数据。

又换了个主题,Clean Retina

因为原主题在某些特殊IE内核浏览器的侧边栏会出问题,不用侧边栏又不爽,所以又换了一个主题。加上学习一下 WordPress 子主题的制作,在每天挤出短短时间,使用 WordPress 子主题方式做出了这个主题。

部分修改:

  • 增加版权信息提示
  • 修改底部
  • 完善 Google 结构化数据
  • 添加“无插件”PageNavi
  • 汉化部分
  • 合并 JS、CSS 文件

而且,这个主题支持 Retina 显示屏,不错,但是不好的地方是需要加载的 JS 太多了,我调了半天,勉强不需要那么多了。

Super StartPage v3.0.1.233(首页设置锁定利器)[2013.9.1] – 多种浏览器一键设首!!WinPE下也可设置(锁定)主页!

如何快速有效的设置(锁定)首页,一直电脑技术员头疼的一件事。虽然这算不上一件难事,但每次都要操作固定的步骤,甚至一台电脑有几个浏览器的时候,还要操作多次。而且有时还会忘记设置首页,也无非不是一件麻烦事。特别是如何在 Windows PE 环境下快速设置(锁定)目标系统所有浏览器首页,并不是简单几步操作就可以完成的事情。因此,特开发此软件协助各位快捷、批量的设置浏览器首页。

软件相对于 2 代版本,代码完全重写,提高执行效率,大大降低首页设置失败几率,修复 2 代严重 BUG,增加了“安全锁定”、“加入收藏”等功能,乃首页设置(锁定)之利器也!

 

SuperStartPage

 

软件信息

程序名称:Super StartPage 3 (SP3)

程序版本:3.0.1.233

支持系统:适用于 x86 / x64 的 Windows XP / Windows Vista / Windows 7 / Windows 8 操作系统以及同期Windows PE系统

支持语言:简体中文 (Simplified Chinese)

软件下载

下载地址:百度网盘

文件效验:

压缩包:

文件: SuperStartPage3_3.0.1.233.zip
大小: 1638583 字节
修改时间: 2013年9月1日, 19:41:48
MD5: 5658D101F0DEC353CA232B2204B55BA8
SHA1: 54742E850D3039B4AC3CD4BCAF379EB4BF46E49F
CRC32: 0872075C

主程序:

文件: SuperStartPage3.exe
大小: 2512862 字节
文件版本: 3.0.1.233
修改时间: 2013年9月1日, 19:41:10
MD5: 64B4152AA9FED62941A8F9E3F1559D2E
SHA1: 45BD42220C2A991619AC12C554F023C7C08C7CE5
CRC32: 656B96D6

(任何未经作者同意对程序进行的修改操作,包含但不限于破解、反编、二次开发等,需承担法律责任)

 

特别提醒

  1. 请下载后务必核实文件效验信息,如不正确,请勿使用;
  2. 本程序属于系统首页设置管理程序,必然涉及对注册表的直接修改,易被各类安全软件误报,非信勿用;
  3. 强烈建议在阅读说明后,再行使用本程序;
  4. 在 Windows PE 下使用本程序时,推荐使用与本程序具有最佳兼容性的 U 盘装机助理

重要说明

  1. 本软件支持在 Windows 系统桌面环境Windows PE 环境使用;
  2. Windows 系统桌面环境下,可直接修改首页,但此环境下易被杀软阻拦
  3. Windows PE 环境下,将自动搜索硬盘中所有系统,并修改其首页,推荐 Windows PE 环境下使用;
  4. 所设置首页需通过配置文件进行更改,配置文件于软件同目录下UrlGenius.ini,配置方法见配置文件内说明;
  5. 本程序可静默运行,静默参数“/S”(不包括两侧引号)。

多图杀猫

SuperStartPage

SuperStartPage 主程序 UI 预览

主页锁定效果

主页锁定效果

 

更新日志

 [2013.9.1] v3.0.1.233

  1. 〔修正〕配置文件部分设置不生效
  2. 〔更新〕配置文件格式

[2013.8.5] v3.0.0.229

  1. 〔新增〕第一个对外公开版本发布
  2. 〔修正〕某些特殊浏览器设置的陷阱导致主页设置失败以及快捷方式失效
  3. 〔新增〕“加入收藏”功能,此功能目前暂时仅支持 IE 浏览器,不过 Windows 系统桌面环境和 Windows PE 环境都可用哦
  4. 〔新增〕“安全锁定”功能,此功能目前暂时仅支持 IE 浏览器,不过 Windows 系统桌面环境和 Windows PE 环境都可用哦

换了个主题——ProwerV6

思量再三,换成了 ProwerV6 这个主题,把用了许多年的 iGoogler 主题换掉了。为什么要换呢?因为——响应式设计。这可以省掉插件。但是,问题就来了——不支持IE6,这个真的没办法,算了吧。

旧主题的各种优化教程,我还是会发,算是为 iGoogler 主题做的最后一点贡献。

找不到“友情链接”的博主,请留意底部。