两枚WordPress模板小技巧

Useful WordPress Tricks里列举了多条很实用的WordPress模板方面的小技巧。

其中冰古比较感兴趣的是这两枚:

顺序排列文章
冰古不知道是否有人会喜欢把文章按照发布时间的顺序来显示。不过这看上去还是蛮有趣的。
在模板的index.php文件中,找到类似下面的行

<?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?>

这行的下面加上这段代码

<?php query_posts($query_string . “&order=ASC”) ?>

倒序排列留言
这条是冰古问了作者Dejan后,他才添加上的。相对上面的顺序排列文章,这枚技巧显然更实用。
在模板的comments.php文件中,找到如下行

<?php foreach ($comments as $comment) : ?>

在它之前,加上这段

<?php $comments = array_reverse($comments, true); ?>

效果看冰古blog的留言本

更多小技巧:Useful WordPress Tricks

搬回虚拟空间

VPS的确比虚拟空间有更大的可定制性,她让冰古学到了更多的,但带来的是需要更多的时间进行管理,而且每月十一刀的续费对冰古来说还是太多了点,所以暂时还是搬回虚拟空间了。

希望有一天能真正搬到VPS吧。 😆

《肖申克的救赎》精彩!

“Hope is a good thing, maybe the best of thing, and no good thing will die.” —— Andy Dufrsne

Firefox终极优化软件

firefox ultimate optimizer是个很变态的优化Firefox内存等资源使用的软件。打开了6个标签的firefox 3 RC2,内存占用竟然才几MB,效果看下图:
firefox终极优化软件Firefox ultimate optimizer

为什么说是软件呢?因为她是独立于Firefox运行的绿色软件,要求机器安装有.net framework
firefox终极优化软件Firefox ultimate optimizer

VPS的安全问题

买了VPS后,很困扰冰古的事情是:有时内存的占用会变得很高。询问客服后,他们说可以使用rkhunter和chkrootkit测试是否有被装上黑客后台程序。好吧,先装上试试:

rkhunter的安装使用
1、登录上SSH,到rkhunter的主页找到最新版本的下载链接,用wget下载到服务器上;

wget http://jaist.dl.sourceforge.net/sourceforge/rkhunter/rkhunter-1.3.2.tar.gz

2、解压并进入到解压的目录内(一定要进入到目录内才能安装)

tar -xzvf rkhunter-1.3.2.tar.gz
cd rkhunter-1.3.2

3、运行installer.sh进行安装,如下面命令即是安装到/usr/local下:

installer.sh --layout /usr/local --install

4、现在可以运行下列命令进行检查

/usr/local/bin/rkhunter -c

chkrootkit的安装使用
chkrootkit的安装就更简单了,因为冰古使用的是CentOS,就像升级PHP和MySQL那样,使用YUM就可以了:
安装:

yum install chkrootkit

使用:

chkrootkit

使用了两个搜索黑客后台的程序后并没有发现,继续问客服的时候,他们又是以冰古的VPS是非管理VPS为理由,拒绝给更多的援助。只能很愤怒地自己去找原因了。经过一番查看,在/usr/log/secure文件中发现很多未明IP都在尝试登录到VPS的管理后台内,有点问题,在Block IP那里限制了只有自己的IP段才能登录VPS管理后台。限制后,一看内存使用,哈哈,降到平时水平,原来就是这个原因。

解决Firefox”Cannot create DirectShow Player”问题

很多人用Windows的Firefox打开包含有mp3的网页(例如百度mp3)时,常常会弹出一个出错提示框,并无法播放mp3。
解决“Cannot create DirectShow Player”

此前冰古也曾试图去解决,但没有成功。因为平时也不大在浏览器上播放mp3,也就一直没有再去搞。今天彻底把Firefox升级到Firefox 3 RC1,但此问题仍旧存在,于是再次搜索看能不能解决。这次很顺利,在搜索了两三次后找到了解决的办法:

Windows Media Player里详细地讲解了如何解决这个问题。老长的一篇英文讲解,冰古也没有仔细地看下去,只是下载了其中提到的补丁Windows Media Player Firefox Plugin,并按照安装步骤进行安装也就解决了:
关闭所有浏览器窗口,双击“Windows Media Player Firefox Plugin”进行安装,冰古是选择其中的“Change”进行安装,一路Next下去,再打开Firefox就解决了。

在Firefox下使用了代理的朋友要注意,这个插件是使用IE下的代理,所以你在Firefox设置了代理还不行,你的IE也需要设置相同的代理才行的。

冰古的机器软件安装情况是这样的:Windows XP SP2,Firefox 3 RC1(不是protable版),wmp 11
如果你按照上面的步骤还没解决,你可以仔细查看Windows Media Player

WordPress中用Ctrl+Enter提交留言

由于某些软件和论坛的缘故,很多时候冰古blog上写完留言回复后,都习惯性地按下Ctrl+Enter进行提交留言,但基本上是不成功的,很多blog程序都没有加入这样的快捷键

Discuz等论坛都可以使用快捷键提交发贴和发贴,但因为觉得它们的代码太麻烦,所以一直没有去查找该快捷键的方法。直到有次在百度知道回复时,按下Ctrl+Enter提交竟然成功了,才打开它的源代码查看了下。一看才知道,实现的方法很简单,只需几行javascript就能搞定了。那么我们也在WordPress加上这个快捷键吧:

一、打开模板中的comments.php文件,查找到下面的内容:

<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform" name="commentform">
<?php if ( $user_ID ) : ?>

如果你的form标签中没有name=”commentform”属性,那么请加上。
二、再往下拉一点,你可以看到类似的两行:

<p><textarea name="comment" id="comment" cols="55" rows="10" tabindex="4"></textarea></p>
<p><input type="submit" id="submit" tabindex="5" value="提交留言" /></p>

如果textarea标签上没有id属性,请按照上面的内容加上。如果在第二行中发现name=”submit”,将之删除。如果你发现还是不行,把id=”submit”改为id=”submitit”,这样肯定是可以了。
三、最后,在</form>的下面,添加下面的一段javascript代码后保存就行了。

<script type="text/javascript">
var commenttextarea = document.getElementById('comment');
commenttextarea.onKeyDown = quickSubmit(event);
function quickSubmit(event){
  if (event.ctrlKey && event.keyCode == 13){
    document.submitform.submit();
  }
}
</script>

貌似上面这句我搞错了document.submitform.submit();,顺便把代码兼容性弄好点,用上下面的代码,应该没问题了。

<script type="text/javascript">
var commenttextarea = document.getElementById('comment');
commenttextarea.onkeydown = function quickSubmit(e) {
  if (!e) var e = window.event;
  //alert(e.keyCode);
  if (e.ctrlKey && e.keyCode == 13){
    //alert('good');
    document.getElementById('commentform').submit();
  }
};
</script>

20090619新版本

<script type="text/javascript><!--//--><![CDATA[//><!--
    var commenttextarea = document.getElementById('comment');
    commenttextarea.onkeydown = function quickSubmit(e) {
        if (!e) var e = window.event;
        if (e.ctrlKey && e.keyCode == 13){
            document.getElementById('submit').click();
        }
    };
//--><!]]></script>

试试吧。

BTW:google换了favicon?google/谷歌 favicon

n种可代替NotePad++的软件

由于某些众所周知的原因,冰古像很多朋友那样,很坚决地把NotePad++从硬盘上删除掉。最近一段时间,频繁地去小众善用佳软找寻能代替它的软件。
于是这段时间,硬盘装了有10+种文本编辑软件:SciTE,PSPad,Intype,notepad2,MadEdit,EditPadLite……

这里列出的软件都很不错,完全可以代替++:
代码编辑器软件 - SciTE
SciTE免费开源,定制性极强。也因为这样,还是用别人配置好的方便,代码高亮,自动完成,提示函数中的参数……强!因为平时只是写写PHP小程序,所以这个是主力编辑器。
代码编辑器软件 - PsPad
PSPad是个免费的IDE,功能很齐全,代码高亮、支持UTF-8、集成FTP、中文界面等等,不过功能太多,用来做文本编辑器有点大材小用了,还是用来做HTML编辑器吧。
代码编辑器软件 - Intype
Intype是个免费的测试软件,功能略显单薄,但也有代码高亮、支持UTF-8等实用的功能,加上内置了多种颜色配置,让人很难抗拒,如果能加上自动完成功能,那就太完美了。
代码编辑器软件 - EditPadLite
notepad2EditPadLite打开大的文本文件的速度一流,用来代替windows内置的鸡肋notepad是绰绰有余的了。
代码编辑器软件 - MadEdit
MadEdit,怎么说呢,该有的功能齐全,代码高亮、中文界面、UTF-8支持、可以轻松改变代码高亮的颜色……或许只有她的图标不能打动我了。