页面载入中...

和 "WordPress" 有关的文章

2007-12
18

WordPress主题的一点小优化

Wordpress 的执行效率一直为人们所不满,我也觉得这是 Wordpress 的唯一比较明显的缺点。我不怎么懂 PHP,对于 Wordpress 的底层结构和数据库查询操作也不很了解,但是,我可以通过修改 Wordpress 的主题(或者叫模版)来实现一些 WP 的优化。本文参考了博客学堂的《Wordpress性能优化入门》,适用于 WP 新手,高手请略过。

WP 模板的设计者一般都会在模板中大量使用 WP 提供的函数来兼容每个用户,但对于我们用户来说,完全没有必要这样,可以通过修改模板,把这些函数更改为静态的内容。从而既减少了页面生成时间,又降低了服务器的负担,何乐而不为?

从头到脚修改,先看 header.php,不出意外的话,一般的模板 <head> 中都会有以下代码:

<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
 
<link rel="stylesheet" href="
<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />
<link rel="alternate" type="application/rss+xml" title="
<?php bloginfo('name'); ?> RSS Feed" href="<?php bloginfo('rss2_url'); ?>" />
<link rel="pingback" href="
<?php bloginfo('pingback_url'); ?>" />

页面的编码我们一般都使用 UTF-8,所以,以许许如生为例,我可以把它改为对应的如下静态 HTML 代码:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 
<link rel="stylesheet" href="http://www.helloxudan.net/wp-content/themes/coolblue/style.css" type="text/css" media="screen" />
<link rel="alternate" type="application/rss+xml" title="许许如生 RSS Feed" href="http://feed.feedsky.com/helloxudan" />
<link rel="pingback" href="http://www.helloxudan.net/xmlrpc.php" />

当然,也可以把 <div id=”header”> 中的

<h1><a href="<?php echo get_option('home'); ?>/"><?php bloginfo('name'); ?></a></h1>

修改为:

<h1><a href="http://www.helloxudan.net">许许如生</a></h1>

至于 description 中的内容,如果你经常改动的话不建议改为静态。

然后是 index.php,这里的内容一般都是动态的,不需要做什么改动。如果你的页面中需要显示作者的名字(<?php the_author(); ?>),可以直接替换为名字,可能也需要在 single.php 中做同样的修改。

下面是 sidebar.php,如果你和我一样喜欢修改 sidebar.php 文件来调整侧栏的话,可以直接把 php 中的打印语句直接修改为内容。例如:<h2><?php _e('Categories'); ?></h2> 可以直接改为 <h2>Categories</h2> 。每个人的侧栏都不相同,其他的地方就根据自己的需要修改了。

footer.php 中,如果出现了 blog 的名字(<?php bloginfo('name'); ?>),RSS 地址(<?php bloginfo('rss2_url'); ?>)等,也都可以替换为相应的静态内容。

到这里,WP 模板优化已经基本完成了,我已经把大部分能修改为静态的内容都修改了,再进一步就要动用静态化插件了。WP 的优化是一项比较复杂的任务,优化模板只是很小的一部分,继续学习高深的东西吧。

2007-10
18

有关WordPress2.3的tag

Wordpress2.3 对 tag 的支持是它的重要新特性之一,这个特性可以使 wordpress2.3 成为 wordpress 历史上一个具有里程碑意义的版本。

但是我在使用 tag 的时候遇到了一些问题:tag 云和 tag 管理。

1、tag 云。

我们都知道使用<?php wp_tag_cloud(); ?>这个函数来调用 tag 云,但是我发现我的 tag 云中的 tag 数目很少,后来查了一些资料解决了这个问题。

<?php wp_tag_cloud(); ?>函数是通过几个参数来控制它的输出形式的,这些参数是:

  • smallest——设定 tag cloud输出的最小字号,默认值为‘8’。
  • largest——设定 tag cloud输出的最大字号,默认值为‘22’。
  • unit——设定 tag cloud输出字号的单位,默认值为‘pt’。
  • number——设定 tag cloud输出 tag 的数量,默认值为‘45’。
  • format——参数‘Flat’将会以平铺的形式输出 tag 并且用空格将 tag 分隔开;参数‘List’将会输出一组无序的 tag 列表;参数‘Array’将允许你定义一组 tag 排列;默认值为‘Flat’。
  • orderby——将会以‘name’或‘count’对 tag 进行排列,默认值为‘name’。
  • order——定义 tag 以‘ASC’升序或‘DESC’除序进行排列,默认值为‘ASC’。

number 的默认值是45,所以 tag 没有能够全部显示出来,这就是原因所在。修改 tag 云的调用函数为<?php wp_tag_cloud('number=200'); ?>就可以显示200个 tag 了。参数之间使用“&”连接。例如:<?php wp_tag_cloud('number=200&order=DESC'); ?>可以用降序的方式显示200个 tag。

2、tag 管理。

不知道为什么 wordpress 的开发团队没有开发 tag 管理功能,想要删除一个 tag 只能在文章编辑中删除,如果这个 tag 被多篇文章所用,那就更麻烦了。因此,很需要一个有 UTW 那样的 tag 管理功能的插件。

我推荐使用 Tag Managing Thing,这是 UTW 的作者为 WP2.3 开发的一个 tag 管理插件。它可以对 tag 进行删除、分开或者合并操作,并且可以为 tag 编辑一个缩略名,就像 WP 每篇文章的永久链接一样,这对于中文 tag 来说是一个很实用的功能。

@2007-12-10 更新:现在使用 Simple Tags 作为 tag 管理插件,该插件的作者是原 simple tagging 插件的作者,simple tags 包含 tag 管理,相关文章,feed 相关文章,彩色 tag 云等强大的功能,强烈推荐使用。

2007-10
14

让WLW支持WordPress2.3的tag

我一直使用 WLW(Windows Live Writer)离线写 blog,blog 更新到 Wordpress2.3 之后,如何让 WLW 支持原生的 WP tag 一直都没有解决。今天在吼吼那里找到了解决办法如下:

  1. 下载 wlwmanifest.xml
  2. 把 wlwmanifest.xml 上传到你的 WP 根目录;
  3. 在 WLW 中选择“博客—编辑博客设置—更新帐户配置”;

更新完毕之后,在 WLW 下部的属性栏中就会出现一个输入关键字的区域,如下图:

WLW的WP关键字区域

这个区域就是 WP2.3 的 tag,写日志的时候把 tag 写在这里即可,多个 tag 之间用半角逗号分隔。

2007-10
13

更新至Wordpress2.3

昨天晚上开始更新 WordPress2.3,升级过程比较顺利。

由于 WordPress2.3 的改动相对比较大,导致以前使用的某些插件出现了不兼容的现象,因此需要更新到最新版本,主要是更新了Google XML Sitemaps。WordPress2.3 有自带的原生tag,所以停用了UTW,并开始使用WP 2.3 Related Posts来实现相关文章的功能,这个插件还可以在 feed 中插入相关文章,所以停用了ST Add Related Posts to Feed插件。wp2.3 的插件管理中可以提示最新版本的插件,因此WP Plugins Tracker也停用了。

目前还存在的一个问题是, ELA 的 0.10beta-r18-mod 版本使用有问题,总是显示“Could not open cache file years.dat”,所以存档页暂时无法正常浏览。这个问题还在解决中。

更新:ELA的问题是由于我忘记把 cache 目录的权限设置为 777 了,现在已经可以正常显示,但是 wp2.3 的 tag 目前还是没有显示出来。

2007-09
16

我喜欢的几个WordPress插件

总统博客点名了,昨天没有时间写,今天把作业补上。

对于 Wordpress 插件,我曾经写过一篇我使用的 Wordpress 插件,文中列举了我使用的所有插件,但是没有喜好之分。总统博客的这个活动,主要是介绍自己喜欢的插件,并不一定要把所有的插件都介绍一遍,既然是喜欢,肯定是这个插件功能很强大或者很独特。这个活动可以让 blogger 之间更好的交流 Wordpress 插件,并且可以给 wp 新手提供很大的帮助,通过前人的经验,新手们可以了解各个主流插件的作用,少走很多弯路。

下面是我喜欢的一些 Wordpress 插件:

  1. 中文 WordPress 工具箱,我想有很多 wp 的 blog 都在使用这个插件吧,我的侧栏中的最新文章、最新评论、随机文章和热门文章页面中的评论最多的文章全靠这个插件,它还可以显示评论最多的网友等。现在使用的是巧克力工厂改进后的版本,这个版本可以显示新的评论发表在哪篇文章上,而且在评论最多的文章中不显示页面。
  2. UTW,很强大的 tag 插件,还有相关文章的功能。不过随着 Wordpress2.3 的发布,WP 自带的 tag 功能可能会替代这个插件。
  3. Google (XML) Sitemaps,生成 blog 的 sitemap(网站地图),并且可以在发表一篇文章之后自动更新 sitemap 并通知搜索引擎,是 SEO 的必备插件。
  4. CoolCode,代码语法着色,支持多种编程语言,这是国人开发的插件,对于经常在 blog 中贴代码的技术类 blog 非常有帮助。
  5. WP AJAX Edit Comment,这个插件我觉得非常有用,它可以让你的读者在发表评论以后的一定时间内对自己的评论进行修改。俗话说“说出去的话就是泼出去的水”,用了这个插件,就可以把泼出去的水收回来,如果读者自己感觉说的话不是很合适需要修改,我们还是应该给他这个机会。
  6. Spam Karma 2,著名的防垃圾评论插件。好在我的小站流量比较小,至今只拦截了两条垃圾评论,但是它的作用还是不可小视的。
  7. WP Plugins Tracker,这是一个有关插件的插件,它可以帮助你查看你所使用的插件是不是最新版本,个人认为很实用。
  8. Extended Live Archives,使用 AJAX 技术实现动态存档页,可以按照分类、日期和 tag 来查找文章,很方便。我使用的是巧克力工厂改进后的版本,解决了 ELA 把自己建立的页面当作文章显示出来的问题。

就介绍这些吧,我用的其他插件还有很多,感兴趣的朋友可以到这里查看所有插件。总统点了那么多名字,我就不点了,呵呵,有兴趣的朋友可以主动写一下,并且发送 trackback 到这里,参加总统的这个活动。