新主题,暂名Simple.2

一个主题用的久了,总想着弄个新的,这或许就是人性的喜新厌旧吧。现在这个主题,暂时我是叫她Simple.2的,因为她跟Simple.1比较相似嘛。

Simple.2现在还是一个半成品,我想着要弄个很方便的主题控制面板,可以在控制面板上完成大部分修改主题的工作。现在控制面板还只有一个控制主题导航栏的功能,而这却已经花费了我近一周的时间, 😯 我的耐心与时间(最近有点忙)都已经不能让我继续磨蹭下去了。于是,还是决定先用上再说,慢慢进行完善吧。

现在具有的功能是这样的:

  1. 文章和页面的标题使用<h1>,而blog则使用<h2>。这样可以突出文章的重要性吧。
  2. 可以在后台进行导航栏链接的选择。可选择使用页面或分类作为导航栏,并可从页面或分类中去掉一部分页面或分类。
  3. 完美支持GaMerZ系列的WP-PostViews和WP-PageNavi插件。
  4. 多样的页面模板。(例子:有侧栏不开放留言有侧栏开放留言无侧栏不开放留言无侧栏开放留言等)
  5. 不算完美的支持下拉的导航栏。
  6. 完全符合xhtml标准的Share this。
  7. 简单的相似文章。

大概就这样了,基本还是Simple.1主题的那一套,不过应该有比Simple.1更完善一点吧。 :mrgreen:

更多的功能正在开发中,各位给点意见吧。 😀

WordPress安全扫描插件

WordPress 2.5发布以来,WordPress的开发blog和论坛里经常能看到关于WordPress安全性的讨论文章:12。其中谈到的黑客通常都是在blog上留下后台程序,或其他隐藏的恶意链接等。WordPress Exploit Scanner正是用于扫描WordPress是否被黑客留下了这些邪恶的东东。当然有些黑客爱删东西的,那就没办法了。

for the love of 2.3
BTW:不知道有没有人不习惯wordpress2.5的管理区模板,Easy Admin Color Schemes可以带你回到wordpress 2.3的时候……

BTW 2:有点惨淡的WordPress 2.5插件大赛

两枚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

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

WordPress模板中的作者函数(Author tags)

除了最后两个函数,这些函数都需在The_Loop中使用,并没有相关的参数。

the_author 显示文章的作者

the_author_description 显示文章作者的描述(作者个人资料中的描述)

the_author_login 显示文章作者的登录名

the_author_firstname 显示文章作者的firstname(名)

the_author_lastname 显示文章作者的lastname(姓)

the_author_nickname 显示文章作者的昵称

the_author_ID 显示文章作者的ID号

the_author_email 显示文章作者的电子邮箱

the_author_url 显示文章作者的网站地址

the_author_link (添加于2.1版本) 显示一个以文章作者名为链接名,链接地址为文章作者的网址的链接。例如一个名叫冰古的作者,他的网站地址为http://bingu.net,则显示为冰古

the_author_icq (不推荐使用) 显示文章作者的icq

the_author_aim 显示文章作者的aim

the_author_yim 显示文章作者的yim

the_author_msn (不推荐使用) 显示文章作者的msn

the_author_posts 显示文章作者已发表文章的篇数

the_author_posts_link 显示一个链接到文章作者已发表文章列表的链接

list_authors (不推荐使用) 显示blog所有作者和他们的相关信息。完整函数如下:

<?php list_authors(optioncount, exclude_admin, show_fullname, hide_empty, 'feed', 'feed_image'); ?>

参数:
optioncount:是否显示各作者已发表文章的篇数,可选值为:TRUE 和 FALSE(默认值)
exclude_admin:是否不列出管理员,可选值为:TRUE(默认值) 和 FALSE
show_fullname :是否显示各作者的全名,可选值为:TRUE 和 FALSE(默认值)
hide_empty:是否不显示发表文章数为0的作者,可选值为:TRUE(默认值) 和 FALSE
feed:链接到各个作者发表文章的RSS供稿种子链接名,默认为空,不显示RSS供稿种子
feed_image:供稿种子的图片地址,如果提供此项,则覆盖上面的feed,默认为空
例如:

<?php list_authors(FALSE, FALSE, TRUE, FALSE); ?>

代表不显示各个作者的发布文章数,列出管理员,显示各作者的全名,显示发布文章数为0的作者和不显示RSS供稿种子。

wp_list_authors 显示blog作者列表,如果作者发表过文章,则他的名字将链接到他发表的文章列表中。可定义是否显示其他信息。
参数:
optioncount:是否显示各个作者发表文章数,可选值:true 和 false(默认值)
exclude_admin:是否不显示“admin”用户,可选值:true(默认值) 和 false
show_fullname:是否显示各个作者的全名,如果不显示,将显示昵称。可选值:true 和 false(默认值)
hide_empty:是否不显示发表文章数为0的作者,可选值:true(默认值) 和 false
feed:链接到各个作者发表文章的RSS供稿种子链接名,默认为空,不显示RSS供稿种子
feed_image:供稿种子的图片地址,如果提供此项,则覆盖上面的feed,默认为空
例如:

<?php wp_list_authors('show_fullname=1&optioncount=1'); ?>

代表显示全名和显示各个作者的发表文章数,其他都为默认值。