正在加载...

按 ‘ plugin ’ 标签归档

万恶的GAE图床

一直用的Sa3album,是从大菠萝相册进化而来的,主要是增加了多相册的功能,生成的图片地址也很短了,但是有一个问题,没有扩展名的后缀,导致绝大多数的lightbox都无法使用,Python代码又完全不会改,各种郁闷。

但是要仅仅如此郁闷也就算了,这两天折腾wordpress themes,换了theme以后发现原来对图片控制的width=”570″是死板的,现在不适合了,于是更郁闷了。

于是乎开始搜索能自动调整大小的插件,可是那些插件大多是针对本地上传图片所用的,对外链调用的完全不起作用,于是一度想放弃现在的相册,但是又不太舍得,最后不在google搜索插件了,找到了一段css代码:

img{
 max-width:95%;
 width: expression(this.width > 570 ? "570px" : true);
 height:auto;
 }

猛击阅读全文

WordPress插件:External Links New Tab

这款插件的作用是为所有的站外链接增加rel=”external”,并且利用javascript将rel=”external”转换为target=”_blank”执行,目的是为了符合strict标准。

这款插件是由LDB External LinksJAB External Link New Tab修改而来,在wordpress 3.0.1下测试通过。

插件使用方法:上传到 /plugins 后到管理后台启用即可。

插件代码:

猛击阅读全文

简单实用的WordPress缓存插件——WP Simple Cache

插件主页:http://www.tankado.com/wp-simple-cache/

作者:Özgür Koca

截止到2010年11月3日的最新版本是0.1.1。

自从前面折腾了SourceForge以后,总是不太死心,因为WP Super Cache总是安装不成功,我太懒,没有尝试手动安装,估计也很麻烦,光是要配置好那个config就需要改动好多地方,所以干脆去wordpress.org转了一圈,于是发现了WP Simple Cache

下面是针对sourceforge的办法。还是用的persistent目录,这里简单说一下使用方法,假如你的wordpress在sourceforge的htdocs目录下,在persistent目录下建立wordpress目录,把原来应该上传在htdocs目录下的wp-content上传到persistent目录下的wordpress,比如我的目录结构现在是这样:/home/persistent/h/he/heartnn/wordpress/wp-content,如果你愿意的话,可以把.htaccess和wp-config.php也上传到wordpress目录里。

下面就比较简单了,把原来目录的相应文件改名,然后把新的做个软链接就行了。

cd /home/groups/h/he/heartnn/htdocs
ln -s /home/persistent/h/he/heartnn/wordpress/wp-content
ln -s /home/persistent/h/he/heartnn/wordpress/.htaccess
ln -s /home/persistent/h/he/heartnn/wordpress/wp-config.php

然后上传插件,以下几个目录或文件的权限设置为0777:

/home/persistent/h/he/heartnn/wordpress/wp-content
/home/persistent/h/he/heartnn/wordpress/wp-content/wp-simple-cache
/home/persistent/h/he/heartnn/wordpress/wp-content/wp-simple-cache/cache
/home/persistent/h/he/heartnn/wordpress/wp-config.php

最后就是去后台Enable WP Simple Cache,如果可以的话选上Compression会比较快一点(Sourceforge可能不行。),Show performance box是在页面的右上角显示WP Simple Cache的状态,为了自己debug用,开启后界面会不美观。

关于WordPress的gzip输出

gzip输出的目的是可以有效地减少文件大小,以利于更快速的传输。

观看本文之前,请先到这里检查你的网站是否已经启用gzip,如果已经启用,请忽略本文。

wordpress从2.5版本开始,不再提供gzip输出选项,而改代码又相对复杂,于是寻找一个可用的插件是必要的。

我用的是wpCompressor,目前的最新版本是0.3,插件很小,是单文件的。

使用中有个小问题,就是这个插件开启时,影响了xmlrpc,也就是说我的ScribeFire不起作用了。。。

于是乎改插件吧(本人不会做插件,但改改还是会的,o(*≧▽≦)ツ),在gzip输出地时候排除了xmlrpc.php文件。反正这个文件也不会访问到的。

改好的代码在下面:

<?php
/*
Plugin Name: wpCompressor
Plugin URI: http://playground.ebiene.de/16/plugin-fuer-gzip-komprimierung-der-beitraege-in-wordpress-25/
Description: wpCompressor automatic compression assumes the data output and boosts the performance of the blog pages.
Author: Sergej M&uuml;ller
Version: 0.3
Author URI: http://www.wpSEO.org
*/

if (ob_get_length() === false && !ini_get("zlib.output_compression") && ini_get("output_handler") != "ob_gzhandler" && extension_loaded("zlib") && !headers_sent() && !is_admin() && stripos($_SERVER['REQUEST_URI'], 'wp-includes/js/tinymce') === false && stripos($_SERVER['REQUEST_URI'], 'xmlrpc.php') === false) {
	add_action(
		'init',
		create_function(
			'',
			'@ini_set("zlib.output_compression_level", 6); ob_start("ob_gzhandler");'
		)
	);
}
?>

另:由于空间转移时,笔者发现wpCompressor不起作用了,于是又去wordpress.org搜索,发现了GZIP EnableForce gzip两个插件,都是用成功,而且在ScribeFile下也可以用,只是GZIP Enable下会有分类重复的问题(原来在wpCompressor貌似也有。)

这两个插件都是单文件的,其中GZIP Enable是base64加密的,所以不讨论其代码,Force gzip的代码夸张的长,并且包含了对浏览器是否支持gzip的判断,推荐使用。