正在加载...

按 ‘ wordpress ’ 标签归档

自己打造WordPress的侧边栏RSS订阅图标

这两天换了主题,想顺便也加强一下RSS订阅吧,于是开始从网上搜索各种插件,结果没有让我感到满意的,不是链接第三方JS,就是自定义功能不强,心想还是自己手工制作吧。

懒了很久了,自己的制作水平也差了很多,本来很简单的东西折腾了很久。。。

首先找到一套订阅图标,尽量一致的风格(这个为了美观,你懂的。),然后对每个图像书写链接,这是最简单的办法,例子就不给了,仅使用html代码就能搞定,唯一的缺点是对每个图像都会有一次http请求,感谢速度会比较慢。

接下来就发挥我们的折腾精神吧,把所有图标都合并成一个文档,(这里heartnn走了不少弯路,一开始用了background-position,可是发现无法做成链接)利用map标签,用css就可以搞定了,下面是heartnn的代码,值得注意的是我这里用的是矩形热点,coords属性对应的是两个对角的坐标,map标签中的name和id要对应到img标签里。

<img src="自定义的图片地址" width=216 height=76 usemap="#rssmap" border="0">
<map name="rssmap" id="rssmap">
	<area shape=rect coords="0,0,103,16" href="http://heartnn.tk/feed/" title="RSS订阅" target="_blank">
	<area shape=rect coords="113,0,216,16" href="http://www.google.com/ig/add?feedurl=http://heartnn.tk/feed/" title="使用Google Reader订阅" target="_blank">
	<area shape=rect coords="0,20,103,36" href="http://9.douban.com/reader/subscribe?url=http://heartnn.tk/feed/" title="使用豆瓣9点订阅" target="_blank">
	<area shape=rect coords="113,20,216,36" href="http://reader.youdao.com/b.do?url=http://heartnn.tk/feed/" title="使用有道订阅" target="_blank">
	<area shape=rect coords="0,40,103,56" href="http://www.xianguo.com/subscribe.php?url=http://heartnn.tk/feed/" title="使用鲜果订阅" target="_blank">
	<area shape=rect coords="113,40,216,56" href="http://www.zhuaxia.com/add_channel.php?url=http://heartnn.tk/feed/" title="使用抓虾订阅" target="_blank">
	<area shape=rect coords="0,60,103,76" href="http://mail.qq.com/cgi-bin/feed?u=http://heartnn.tk/feed/" title="使用QQ邮箱订阅" target="_blank">
	<area shape=rect coords="113,60,216,76" href="http://inezha.com/add?url=http://heartnn.tk/feed/" title="使用哪吒订阅" target="_blank">
</map>

万恶的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用,开启后界面会不美观。

关于Sourceforge上安装WordPress的二三事

前面写过如何在Sourceforge上安装wordpress,但是经过后来的调试,不像我想象的那么简单,因为这个空间的写入问题,所以很多插件都不能使用,下面说说感受。

首先是cache类插件不用想了,由于wp-content目录不可写(可是我名名设置成777了的),所以cache是无法生成的,启动WP Super Cache的后果就是无法进入后台管理。。。空间速度其实还是不错的,尤其是从国外访问,所以没有cache就没有了吧。(这里我想了又想,很可能是服务器的缘故,不单纯是文件夹权限问题。)

写入wp-config.php的插件也不行,比如PS WP Multi Domain,不过可以自己编辑一下。类似的,写入.htaccess的也必须手动编辑。

目前问题最多的地方就是目录权限问题,其次是无法访问外部服务器,很明显的就是后台首页中的feed都无法更新,Akismet无法使用,对于Akismet有个替换的方案,就是安装Math Comment Spam Protection(昨天晚上测试了很多垃圾屏蔽插件,就这个工作的最好,而且前台评论时还显示中文的),看名字就知道,是通过算术来防止垃圾评论的。

另外,网上有说需要设置权限的文件夹放在persistent目录里,然后再用软链接过去,但我的操作是失败的。

关于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的判断,推荐使用。

用SourceForge.net建立WordPress

说来惭愧,6年前就创建了SourceForge(以下简称sf)的账号,但是从来没用过,最近无事,于是登陆来折腾一下~~发现sf空间的确是支持php的,很是欣喜。建立了一个Wordpress也成功了,当然用了点手段,想知道怎么折腾请往下看。(我不确定这样做是不是违反了sf的规定,因为sf本身提供了wordpress的博客,当然是不能自定义的那种了,下面会介绍到。)

首先是没有账号的先去注册个(这是废话。。。),登陆后点上面的Create Project。

来到了https://sourceforge.net/register/ 这个页面,点右边的Create Project,填写表单,很容易看懂的,注意的就是Url那里关系到以后的网址,不过也没关系,sf是提供域名绑定的,偷笑吧~~点Complete Registration完成。我是没点那个beta的链接,想尝试的可以试一下。

完成前面的步骤后点右上角你的用户名,在右边My Projects的框里应该能看到刚才创建的工程名字了。进入后再工程名下面的一排菜单里点Project Admin里的Feature Settings进行设置。

这里说点题外话,刚才提到sf提供了wordpress,其实就在Available Features里面,自己激活就可以用了,只不过域名要长的多,而且不能装自定义插件什么的。

猛击阅读全文

WordPress数据库优化那点事

由于最近又开始写博客了,于是重新折腾WP,但是毕竟两年不用,许多设置都生疏了,前两天更是因为一个插件问题,导致xmlrpc不能使用,更是郁闷了半天。

闲话少说,关于数据库优化来说,无非也就是那几点,先是版本控制,wordpress现在每修改一次文章,就会生成一个新的版本,着实让人不爽,对我们平头百姓也确实没什么用处。解决的方法很简单,用那个Super Switch插件吧,或者更简单的,在wp-config.php文件中加上

define('WP_POST_REVISIONS',false);

一般我都是加在调试开关的下面。

接下来该处理的就是后台首页的rss内容了,网上的处理一般是在wp-config.php里增加

define('MAGPIE_CACHE_ON', 0);

可是我在wordpress 3.0.1下测试的结果是失败。。。借助于Clean Options插件吗?貌似也不起作用,虽然此插件号称能删除包含rss_的内容,可是我却从来没搜索出来过。

猛击阅读全文