WordPress主题制作简明教程第一讲 简单说明

很多人开始使用WordPress 都是因为看到漂亮的WordPress 主题。为了能让每一个 WordPress fans 都能制作个性化的主题,我们经过精心的准备,终于推出了这套WordPress 主题制作入门教程。

这套教程主要由tomheng 编写,老伍修正,希望大家能从中对WordPress 主题制作有一个基本的了解。

WordPress 是一个很优秀的开源博客程序,受到全世界网民的追捧。它不但是一个简洁易用 的博客应用程序,同时也是个学习的好工具。通过主题的制作你可以学习网页设计相关知识,学习插件开发则可以提高你php 编程的能力,如果更深入的了解一下WordPress 的框架结构,那对你架构设计能力也是一种提高。

我们提供的这套入门教程旨在普及WordPress 主题制作 的基础知识,面向最基础的入门用户,让大家认识到制作WordPress 主题是简单的,有趣的(It is easy ,it is fun 这是我们的口号)。

这个简单的教程会讲解如何制作WordPress 主题的基 本步骤,但是制作漂亮的主题还需要更多的经验和努力才行

学习我们的教程需要您首先的是一个WordPress 的熟练的用户,如果你还不是很熟悉如何使 用WordPress,请到我爱WordPress查看WordPress 的基本的使用教程。

教程开始之前还是要说一些网页设计的基本的规范以及一些基本的php 常识:

(1)所有html 标签必须关闭
<ul></ul>

(2)Html标签的不能交叉嵌套
<div><span></div></span> 这样是不允许的
<div><span></span></div> 这样是正确的

(3)凡是在<?php ···?>或者在<? ···?>里的内容都是php代码

(4)Php 的两种注释方法

A、// 单行注释 B、/**/ 跨行注释

即以/*开头到*/终止的中间部分全部为注释代码

(5)css 样式文件的注释方法只有一种既/**/ 跨行注释
推荐一些工具和网站

  1. php 不懂得问题去。php.net 查询
  2. 与css,html 有关的问题去:w3school 查询

第二讲主题制作基本流程

没错制作主题教程是简单的也是有趣的。上一讲我们对本wordpress 主题教程进行了简单说 明,现在就让我们先来配置一下我们的开发环境吧。

(1) 在自己的电脑安装WordPress 运行的环境

安装过程中可能会遇到一些问题,一般就是迅雷等软件占用80端口。所以安装之前最好把迅 雷给关了。另外phpnow ,appserve ,nertrigo 等都可以完成xampp 的工作。

(2) 在本机服务器安装WordPress

这个相对简单一些,如果一切顺利这时侯,在自己的浏览器输入http://localhost 就可以看到 自己装的WordPress 啦。

(3) 推荐:

准备一些软件,dreamweaver ,fireworks,最好装两个以上的浏览器(包含ie, firefox) 当然这些不一定用的着,只是推荐而已,大家根据自己的知识水平准备一下就可以啦。

现在万事俱备,接下来就开始介绍教程制作的相关知识。

(1) 主题的存放位置。

所有的主题都存在于:你的博客所在目录/wp-content/themes 下,每一个文件夹就是一个主题。所以我们制作主题的第一步就是在这个目录建立一个文件夹,文件夹的名字可以用主题 的名字,您还得先为主题取个好听的名字奥。

比如我们就建立一个叫wpc-tomheng 的文件夹。到wordpress 后台看一下是不是存在我们的主题。令人失望的是没有看到我们的主题,这是 什么问题呢?

其实建立一个文件夹只是给我们的主题买了块地皮而已,我们还需要在上面建 立一些东西,才能在后台看到的。

要在后台看到我们的主题最主要的一步就是在主题目录(我 这里是wpc-tomheng, 要根据自己的具体情况在相应的目录里, 以后我们就直接以 wpc-tomheng 作为说明,您在操作的时候要具体转化为自己的目录。)

建立一个叫style.css 的文件。这个文件是用来存放css 样式文件,这里面也包含了关于主题 的一些信息。与主题相关的信息都是放在/*主题相关的信息*/里面。我们在里面写入最简单 的一个信息-关于主题的名称。

在style.css 文件里写入如下信息:

/*
Theme Name: wpc-tomheng
*/

说明:在这里可以填入更多的相关信息,但是都要符合WordPress 的规范才行。这些信息不 是必要,但是我们最好填写一些必备的信息(如:主题的名字,作者,等信息),这样看起 来更规范。保存文件。

到后台看一下,我们依然没有发现我们的主题,我们的主题却被列入 了已损坏的主题里面,提示信息为:缺失模版文件。是的我们的主题确实小但是五脏并未俱全,

接下来再建立一个模版文件就好啦。在wpc-tomheng 目录建立一个index.php 的文件,这时候我们的主题能在后台的主题选项目录看到,同时我们的主题也可以安装了。

这就是一个新的主题必须具有的最基本的结构(style.css 和index.php 文件)。现在我们安装 上自己制作的主题,但是我们到前台查看自己的博客时候,什么内容也没有看到。这是为什 么呢? 当然,我们的工作刚刚起步。

我们还需要给我们的主题继续的添加东西,才可以在前台有个完美的展示。在index.php 里写入任何的html 标签或者简单的文本都可以在前台显示出来。

You may wan to try it .

但是我们怎么把我们在博客里的文章或者其他的信息显示出来呢,这就要靠我们的
WordPress template tags

http://codex.wordpress.org/Template_Tags

我们在这里先介绍一个最简单的tag,(在开始的几讲里我们只是介绍一下主题的最基本知识 和相关的流程,关于更详细的教程我们会在后续的章节发布出来,请密切关注wpc 的动向)。

在index.php 里写入如下代码:

<html>
<body>
<?php
bloginfo(‘name’);
?>
</body>
</html>

注:请注意其中的引号,有可能您直接copy 过去的话,会变成全角的,应该是半角英文的 引号。

现在在博客的首页应该可以看到自己博客的名字了,这就是tag 的一个最简单的应用。
现在wpc-tomheng 应该算是一个完整的主题,但绝不是一个完美的主题。因为他基本没有展 现我们博客的内容,也没有漂亮的外观。展现博客的内容要靠template tags(例如bloginfo())
来完成,改变外观要靠style.css 来完成。这也是制作主题的关键,最能展示个人创意的地方。

接下来,如果您愿意把自己制作的主题release 出来的话,就可以打包成.zip 文件,然后提交 到WordPress。恩,现在是不是对WordPress 主题制作有个基本的了解了,接下来我们会详细的讲解template tags 的相关的知识。

这个文件是用来存放css 样式文件,这里面也包含了关于主题的一些信息。与主题相关的信息都是放在/*主题相关的信息*/里面。我们在里面写入最简单的一个信息-关于主题的名称。

在style.css 文件里写入如下信息

/*
Theme Name: wpc-tomheng
*/

第二讲主题制作基本流程 到说明: 在这里可以填入更多的相关信息, 但是都要符合WordPress 的规范才(http://codex.wordpress.org/Theme_Development)这些信息不是必要,但是我们最好填写一些 必备的信息(如:主题的名字,作者,等信息),这样看起来更规范。保存文件。到后台看 一下,我们依然没有发现我们的主题,我们的主题却被列入了已损坏的主题里面,提示信息 为:

确实模版文件。是的我们的主题确实小但是五脏并未俱全,接下来再建立一个模版文件 就好啦。在wpc-tomheng 目录建立一个index.php 的文件,这时候我们的主题能在后台的主 题选项目录看到,同时我们的主题也可以安装了。

这就是一个新的主题必须具有的最基本的结构(style.css 和index.php 文件)。现在我们 安装上自己制作的主题,但是我们到前台查看自己的博客时候,什么内容也没有看到。

这是 为什么呢?当然,我们的工作刚刚起步。我们还需要给我们的主题继续的添加东西,才可以在前台有个 完美的展示。在index.php 里写入任何的html 标签或者简单的文本都可以在前台显示出来。You may wan to try it.
但是我们怎么把我们在博客里的文章或者其他的信息显示出来呢,这就要靠我们的
WordPress template tags (http://codex.wordpress.org/Template_Tags )。

我们在这里先介绍一个
最简单的tag,在index.php 里写入如下代码:

<html>
<body>
<?php
bloginfo(‘name’);
?>
</body>
</html>

现在在博客的首页应该可以看到自己博客的名字了,这就是tag 的一个最简单的应用.

现在wp-tomehng 应该算是一个完整的主题,但绝不是一个完美的主题。因为他基本没有展 现我们博客的内容,也没有漂亮的外观。

展现博客的内容要靠template tags(例如bloginfo()) 来完成,改变外观要靠style.css 来完成。这也是制作主题的关键,最能展示个人创意的地方。

接下来,如果您愿意把自己制作的主题release 出来的话,就可以打包成.zip 文件,然后提交 到WordPress。

恩,现在是不是对WordPress 主题制作有个基本的了解了,接下来我们会详细的讲解template tags 的相关的知识

 

第三讲制作博客的header

通过上一讲的说明大家知道了WordPress 主题最主要的两个文件是style.css 和index.php,他们是最基 本的,但是只有他们显然是不完美的,虽然你可以把所有的功能都写到index.php 中,但这不符合 WordPress 主题制作的规范,这一讲我们将学习如何按照规范去制作自己的主题。

从上面的图示我们可以看出一个基本的WordPress 页面是由四部分构成的(header.php,
index.php, footer.php, sidebar.php),他们在WordPress 博客中负责不同的页面部分。我们将在 下面的课程中讲解这四个文件的制作方法,今天我们就先来看看怎样来制作header.php 文 件

(1)首先我们在index.php 中写入如下几个简单的函数,这些函数暂时不做讲解,等讲到index.php 文件时我们会进行说明的。

代码如下:

<?php get_header()?>
<?php get_footer()?>

(2)然后在wpc-tomheng 目录下建立一个header.php 文件。

写入如下代码:

<!DOCTYPE html PUBLIC ”-//W3C//DTD XHTML 1.0
Transitional//EN” ”http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<title> <?php bloginfo(‘name’); ?></title>
<linkrel=”stylesheet” href=”<?php bloginfo(’stylesheet_url’); ?>” type=”text/css” media=”screen”
/>
</head>
<body>
<div >
<h1><a href=”<?php echo get_option(‘home’); ?>/”><?php bloginfo(‘name’); ?></a></h1>
<div class=”description”><?php bloginfo(‘description’); ?></div>
</div>
</body>

(3)打开浏览器查看主题是不是可以看到显示出博客的名字还有描述啦。 恩,这就是模版函数的功劳了,下面我们就看看这个是如何实现的。

说明:
一、bloginfo()模版函数

Bloginfo()就是个模版函数,通过它我们可以调用你博客相关的信息,我们在header.php 中 用到了四次这个函数,取出了三个主要的数据:博客的名字bloginfo(‘name’)、样式文件 bloginfo(’stylesheet_url’)、博客描 bloginfo(‘description’)。

这里需要特别指出的有两点:

1)Bloginfo()函数具有输出功能,即他不是返回数据,而是直接把数据输出到浏览器。

2)Boginfo()输出不同的数据通过参数配置实现。Bloginfo()函数的常用配置参数说明

二、get_option()函数

我们在这里用这个函数得到了博客链接的地址,这个函数需要注意就一点他返回的是一个 url 地址变量,所以如果要在页面上显示那么需要在他的前面加上echo 函数。当然我们还应该加上一些样式,但是这超出了我们教程的范围,我在这里只是向大家解释如 何使用这些模版函数和主题制作的基本方法,并不会去叫大家如何设计主题,掌握了这些知 识再加上丰富的创意才能实现漂亮的主题,这要依赖于你的css 知识基础和设计能力而这些不包含在我们教程的内容之中(也许以后wpc 会提供相关的教程,请密切关注)

(2)打开浏览器查看主题是不是可以看到显示出博客的名字还有描述啦。恩,这就是模版 函数的功劳了,下面我们就看看这个是如何实现的。

 

 

 

WP Super Cache使用全攻略

WP Super Cache作为一个经典的老牌的并且非常好用有效的插件,一直都是WPer们几乎必装的东西之一。不过好像很多人还是对怎么使用它有点困惑…所以,尽量详尽…

什么是WP Super Cache

WP Super Cache从你的动态Wordpress Blog中生成静态的html文件。当一个html文件生成后,你的服务器就会用显示这个文件来取代处理相对而言需要更大工作量和更多WordPress PHP脚本的动作。 生成的静态html文件会为你的绝大部分用户服务,除了那些在发表评论后在评论表单中显示的用户详细信息,那些请求由PHP处理。 静态文件会为下列用户显示: 未登录用户。没有在你的Blog上发表评论的用户。或没有访问密码保护文章的用户。 99%的访客会由静态html文件服务。 没有看到静态文件的用户也会从中受益,因为那些看到会看到常规WP-Cache缓存文件,所以你的服务器就不会像往常那样忙碌。 这个插件会帮助你的服务器处理当你的某个网页出现在Digg.com或其他社会化网站首页时的访客潮。 如果由于某些原因“超级缓存”无法在你的服务器工作也不必担心。 缓存仍然会继续执行,但是每个请求都需要调用PHP引擎。 在正常情况下,这样还算不错。你的访客不会发现站点打开速度减慢或是任何不同,或发现你的网站正在经受大流量的冲击。 超级缓存html文件会比PHP生成缓存文件更快显示,但是在日常使用中差异并不明显。

如何安装:

首先你应该已经安装Apache mod mime以及mod rewrite模块,并启用WordPress fancy permalinks。 禁用PHP安全模式。 如果上述条件有任何一个缺失或是关闭,你仍然可以使用此插件较慢的WP-Cache部分。如果你已经安装了WP-Cache插件,请先将它禁用。

编辑wp-config.php文件,确认WP_CACHE定义已删除,并移除wp-content目录下的wp-cache-config.php文件和advanced-cache.php文件。 这些内容会在安装WP-Super-Cache后重新生成。

上传WP-Super-Cache目录到你的插件目录。它会创建一个“wp-content/plugins/wp-super-cache/”目录。如果你在使用Wordpress MU版本,你需要将插件安装到 “wp-content/mu-plugins/wp-super-cache/”,并将wp-cache.php文件复制到 mu-plugins目录中。访问你的管理页面中的插件页面,激活“WP Super Cache”。激活后,访问 “设置” →WP Super Cache,然后启用缓存。 如果你看到错误信息提示,或是空白页面,你可能需要修正它。 查看本文“常见问题”区域获得解决方案。

mod_rewrite规则会自动插入到你的.htaccess文件中。此文件位于你的空间可访问的根目录。

这个文件应该看起来和下面的内容类似: —————–.htaccess—————–

RewriteEngine OnRewriteBase / RewriteCond %{REQUEST_METHOD} !=POSTRewriteCond %{QUERY_STRING} !.*=.* RewriteCond %{HTTP_COOKIE} !^.*(comment_author_|wordpress|wp-postpass_).*$ RewriteCond %{HTTP:Accept-Encoding} gzip RewriteCond %{HTTP_user_agent} !^.*(2.0 MMP|240x320|AvantGo|BlackBerry|Blazer|Cellphone|Danger |DoCoMo|Elaine/3.0|EudoraWeb|hiptop|IEMobile|iPhone |iPod|KYOCERA/WX310K|LG/U990|MIDP-2.0|MMEF20|MOT-V|NetFront|Newt|Nintendo Wii|Nitro|Nokia|Opera Mini|Palm|Playstation Portable|portalmmm|Proxinet|ProxiNet|SHARP-TQ-GX10|Small|SonyEricsson|Symbian OS|SymbianOS|TS21i-10|UP.Browser|UP.Link|Windows CE|WinWAP).* RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz -f RewriteRule ^(.*) /wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz [L] RewriteCond %{REQUEST_METHOD} !=POSTRewriteCond %{QUERY_STRING} !.*=.* RewriteCond %{QUERY_STRING} !.*attachment_id=.* RewriteCond %{HTTP_COOKIE} !^.*(comment_author_|wordpress|wp-postpass_).*$ RewriteCond %{HTTP_user_agent} !^.*(2.0 MMP|240x320|AvantGo|BlackBerry|Blazer|Cellphone|Danger|DoCoMo| Elaine/3.0|EudoraWeb |hiptop|IEMobile|iPhone|iPod|KYOCERA/WX310K|LG/U990|MIDP-2.0|MMEF20|MOT-V|NetFront|Newt|Nintendo Wii|Nitro|Nokia|Opera Mini|Palm|Playstation Portable|portalmmm|Proxinet|ProxiNet|SHARP-TQ-GX10|Small|SonyEricsson|Symbian OS|SymbianOS|TS21i-10|UP.Browser|UP.Link|Windows CE|WinWAP).* RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html -f RewriteRule ^(.*) /wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html [L] RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]

—————–.htaccess—————–

Apache必须设置为允许上述模块工作。 如果当响应匿名访客请求时出现“500 internal error”,你需要调整你的Apache设置。

下述设置在我的虚拟主机上有效:
 # BEGIN supercache&lt;IfModule mod_mime.c&gt;&nbsp; &lt;FilesMatch &quot;.html.gz$&quot;&gt; &nbsp;&nbsp;&nbsp; ForceType text/html&nbsp;&nbsp;&nbsp; FileETag None&nbsp; &lt;/FilesMatch&gt; &nbsp; AddEncoding gzip .gz&nbsp; AddType text/html .gz&lt;/IfModule&gt; &lt;IfModule mod_deflate.c&gt;&nbsp; SetEnvIfNoCase Request_URI .gz$ no-gzip &lt;/IfModule&gt;&lt;IfModule mod_headers.c&gt; &nbsp; Header set Cache-Control 'max-age=300, must-revalidate'&lt;/IfModule&gt; &lt;IfModule mod_expires.c&gt;&nbsp; ExpiresActive On&nbsp; ExpiresByType text/html A300 &lt;/IfModule&gt;# END supercache
首先是是缓存的状态设置。

ON:WP Cache和Super Cache都启用。

没有特殊情况推荐选择这个。

HALF ON: 半开模式,禁用Super Cache,只启用WP-Cache的缓存机制。

OFF: 禁用WP Cache和Super Cache。

Don’t  cache pages for logged in users 勾选则不为已登录用户缓存页面 Proudly tell the world your server is Digg proof! ( place a message in your blog’s footer) 骄傲地告诉世界你的服务器不怕Digg效应!(在你的博客页脚放置一条信息) Clear all cache files when a post or page is published. (This may significantly slow down saving of posts) 当新文章或页面发布时清除所有缓存文件(这可能会显著降低保存文章速度) Cache rebuild. Serve a supercache file to anonymous users while a new file is being generated. Recommended for very busy websites with lots of comments. Makes “directly cached pages” and “Lockdown mode” obsolete 缓存重建。

当新文件正在生成时为匿名访客显示一个supercache文件。 推荐有大量评论的非常繁忙的站点启用此特性。 启用它会使“directly cached pages 直接缓存页面”和 “Lockdown mode 锁定模式”失效。 Coarse file locking. You probably don’t need this but it may help if your server is underpowered. Warning! May cause your server to lock up in very rare cases!  粗略文件锁定。 这个功能你可能不需要,不过如果你的服务器性能较低,启用它可能会有所帮助。 警告! 可能在极罕见情况下锁死你的服务器!

011 WP Super Cache使用全攻略

Mobile device support 移动设备支持 移动设备支持需要在你的.htaccess文件中添加额外的规则,或者你可以将插件设置为半开模式。请根据页面提示操作。 注意:如果要卸载这个插件,确认服务器wp-content 目录可写以便自动删除 advanced-cache.php和cache-config.php。 (确认这些文件也可写是个好主意!)

02 WP Super Cache使用全攻略

卸载时请使用卸载脚本来移除插件创建的文件和目录。 查看Readme.txt获得更多信息。

03 WP Super Cache使用全攻略

缓存内容:这里统计已生成和已过期的缓存数量和大小。 Delete Expired 删除过期缓存 Delete Cache 删除全部缓存

04 WP Super Cache使用全攻略

过期时间与垃圾收集 过期时间:

3600秒 垃圾收集 如果过期时间设置为大于1800秒(半个小时),垃圾收集动作会每十分钟进行一次,否则就在预设过期时间的10秒后进行清理。 检查和删除过期文件代价高昂,但是把这些文件留在那儿同样不是好办法。 在非常繁忙的站点,你应该将过期时间设置为300秒。 试验使用不同的值并访问这个页面来查看一天里在不同时段生成多少过期文件,如果可能,尽量保证缓存文件数少于500个。

05 WP Super Cache使用全攻略接受文件名和拒绝的URI 不要缓存下列页面类型。 点击链接查看关于每种类型的完整描述。勾选的类型就不会被缓存了。 下部的方框中则是按字串方式控制页面是否要被缓存。 比如如果你的链接包含年份而你不想缓存去年的文章,那么就指定年份,“/2004/” , WP Cache会搜索这个字串是否包含在URI之中,如果是的话则不缓存这个页面。

06 WP Super Cache使用全攻略这是可以被缓存的文件名,即使它们匹配上面设置的拒绝缓存子串也仍将缓存。

07 WP Super Cache使用全攻略拒绝的User Agents HTTP User Agent header中的字串可以帮助WP-Cache避免缓存机器人,蜘蛛和抓取机器人的请求。 注意如果它们已经存在,Super cache文件仍会被发送到这些类型中。

081 WP Super Cache使用全攻略

 

封锁: 禁用/启用 如果你预见到会有流量高峰到来,可以启用这个功能。 当此功能启用时,在文章上发表的新评论不会刷新缓存静态文件。

09 WP Super Cache使用全攻略

修复设置 如果你觉得上面的那些设置已经被你搞乱了,点击Restore Default Configuration可将其恢复到默认状态。

常见问题:

我如何知道博客已被缓存?

查看你的站点的任意页面的源代码。 当某个页面是初次创建,你会在源代码末尾看到这样的文本:“Dynamic page generated in XXXX seconds.” 和“Cached page generated by WP-Super-Cache on YYYY-MM-DD HH:MM:SS”。在刷新时,缓存页面会显示相同的时间戳,所以在检查时请稍等几秒。 如果你启用了压缩功能, 文本“Compression = gzip ”也会添加。 如果禁用了压缩,并且这个页面以静态html方式显示,文本“super cache”会添加在其中。另一种检查你的缓存页面由PHP脚本处理或是由静态缓存而来的方法是查看HTTP header。 WP-Cache (PHP) 缓存页面会有这样的Header“WP-Super-Cache:WP-Cache”。 你可以使用名为Live HTTP Headers的FireFox扩展来检验header。 同时,你还应该查看位于wp-content/cache/supercache/主机名/ 目录下的静态缓存文件。

为什么WP-Super-Cache比WP-Cache好?

这个插件基于非常棒的WP-Cache插件而来,因此具有那个插件所有的优点。 除此之外,它还创建使每次访问Blog都采用单一格式的每个页面的副本,这样可以使服务器更快响应请求。 它几乎和你在浏览器中保存一个页面并把它上传上去替换你的主页一样快。

评论和其他博客上的动态部分会立即更新吗?

评论会在它们通过审核后立刻显示, 这取决于博客主人的评论策略。 其他页面上的动态元素可能不会更新,除非它们由Javasript,Flash,Java或其他客户端浏览器语言构成。 这个插件会真正创建静态html页面,在这些文件被调用时,没有PHP代码执行。 “Popularity Contest”就是一个在缓存环境下不会工作的插件。 那些为移动设备用户显示不同内容的插件也有可能不会正常工作。

Super Cache的压缩会拖慢我的服务器吗?

不会,相反它还会加快你的服务器速度。 Super Cache文件被压缩和储存时,大负载的压缩动作只会出现一次。 这些文件一般都非常小,发送到访客浏览器上也会比未经压缩的快很多。 其结果是,你的服务器会花费更少的时间在传输上,于是也就会节省CPU时间和带块,并使响应下次请求更快速。

为什么 WP UserOnline,Popularity Contest, WP Postratings 或某个插件在我的博客上不再工作或更新状态了?

WP-Super-Cache插件缓存整个页面,所以有些每次页面调用都需要运行PHP代码的插件就不会正常工作了。 想避免这个问题,这个插件必须使用Javascript或AJAX来更新。 如果这个插件要在页面上显示信息,那么也必须有Javascript请求。 为什么这个插件不默认缓存搜索引擎机器人的请求? 这些机器人一般只访问每个页面一次,如果这个页面并不热门,完全没有必要创建缓存文件并让它在你的服务器上闲置。

为什么不创建我站点上所有页面的缓存文件呢?

同刚才那个问题一样,没有必要缓存没人访问的页面。大量的缓存文件会减慢垃圾收集系统的速度,因为它会尝试检查每个文件。 同时它还可能给主机商带来问题。 当你的服务器遇到磁盘错误问题时可能需要更长的时间来检查文件。 还记得用scandisk或者fsck检查大驱动器时用的时间吗? 一个分类页面取代了我的首页… 很小比例使用下列设置的网站会有这样的问题:使用静态页面作为首页。使用 /%category%/%postname%/ 永久链接结构 有时一个分类页面会作为站点首页缓存而取代原有静态页面。 作者无法重现这个问题,但是有个简单的办法可以解决问题,即将插件设置为半开模式。 对一般的访问量来说,你不会发现你站点的速度有什么不同。

问题处理:

如果你安装插件后发现有什么不正常的现象,可以从这些方面进行检查: 服务器是否可写 wp-content 目录?

wp-content目录中是否有wp-cache-config.php 文件?

如果没有,复制 wp-super-cache/wp-cache-config-sample.php文件到 wp-content/wp-cache-config.php,并确认 WPCACHEHOME 指向正确的地方。 wp-content目录下是否有advanced-cache.php文件?如果没有,你需要复制 wp-super-cache/advanced-cache.php到 wp-content/ 目录下,编辑这个文件,修改路径使它指向 wp-super-cache 文件夹。 如果页面都没有被缓存,移除 wp-content/advanced-cache.php文件并根据上述要求重新创建它。 确认wp-config.php文件中的这一行内容在 “require_once(ABSPATH.’wp-settings.php’);”之前: define( ‘WP_CACHE’, true );

1 试试再次打开 设置 –> WP Super Cache页面斌启用缓存。

 

看看 wp-content/cache/supercache/目录。有文件夹和文件在里面吗? 你的php error_log 错误记录里有什么信息吗? 如果当super cache安装后你的浏览器一直要求你保存文件而不是显示页面,你必须禁用Super Cache 压缩。 访问 设置-> WP Super Cache页面禁用它。 这个插件在PHP安全模式启用时无法很好地工作。 必须由你的服务器管理员禁用这个功能。 如果页面有时可以被超级缓存而有时没有,其原因可能是你的博客部分访客由 “www”前缀访问而有些不是。如果你在使用老版本的Wordpress,你应该选择安装 Enforce www preference 插件。

最新版本的WordPress可以重定向它们(你应该一直使用最新版本的WordPress!)。 在Dreamhost上的个人服务器用户如果遇到有关CPU占用增加的错误,则应该编辑 wp-content/wp-cache-config.php 文件并设置缓存目录到“/tmp/”目录。 类似“failed to acquire key 0x152b: Permission denied in…”或“Page not cached by WP Super Cache. Could not get mutex lock.” 这样的文件锁定错误表明你可能必须使用文件锁定功能。

编辑 wp-content/wp-cache-config.php 并取消注释“$useflock = ture” 或设置 $semid 为一个不同的值。 你还可以把从管理页面禁用文件锁定作为最后一招使用。 确认服务器可写 cache/wpcachemutex.lock 文件 缓存文件不能放置在NFS或Samba或NAS共享上。 必须将其放置在服务器本地磁盘上。 只有在缓存文件夹在本地机器上时,文件锁定和删除过期文件功能才能正常工作。 如果Wordpress无法找到 wp-cron.php文件,旧缓存文件的垃圾收集特性就无法工作。 如果你的主机名定为127.0.0.1, 可能会阻止垃圾收集特性正常运作。

检查你的 access_log,寻找有关wp-cron.php的条目。 它们是否返回 404(文件没找到)或200 代码?如果返回404或你在哪儿都没有看到wp-cron.php文件,Wordpress可能在错误的地方寻找这个脚本了。 你应该联系你的服务器管理员来修正这个问题,或者在Unix服务器上编辑 /etc/hosts 并移除下面的内容。你的主机名必须设置为外币IP地址。查看http://yoast.com/wp-cron-issues/ 获得更多信息。

1  127.0.0.1 myhostname.com
1  一行类似"127.0.0.1 localhost localhost.localdomain" 的内容是可以的。

如果旧页面通过Supercache展示给你的访客,你可能缺少某些Apache模块(如果你没用Apache的话,那就可能是类似功能的东西)。

3个模块是必需的: modmime, modheaders 和mod_expires。 后两个对于确保浏览器能够调用你站点上已存在页面的新版本是非常重要的。 “WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed!”这个错误信息如果出现在每个页面的末尾的话,用你常用的编辑器打开 wp-content/advanced-cache.php文件,看看指向wp-cache-phase1.php的路径是否正确?如果不正确的话缓存引擎就不会调用。

如何卸载WP Super Cache?

编辑你的插件目录中的 wp-super-cache/uninstall.php文件,将 UNINSTALL_WPSUPERCACHE设置为一个非空值。

1  define( 'UNINSTALL_WPSUPERCACHE', '1' );
打开你的浏览器并直接调用 wp-content/plugins/wp-super-cache/uninstall.php文件。
你必须登录并确认这个动作。 如果你没有立即删除这个插件,在这个脚本运行之后,请注释掉上面这行
1  define()
以免其他人运行它

如何手动卸载: 从wp-config.php文件中移除WP_CACHE定义,内容应该类似这样 define(‘WP_CACHE’, true ); 从后台页面清理缓存并从插件页禁用插件从你的.htaccess文件中移除Super Cache mod_rewrite 规则移除wp-content/advanced-cache.php和wp-cache-config.php文件删除 wp-content/cache目录从你的插件目录中删除wp-super-cache

如果所有办法都失败并且你的网站已不能打开

从wp-config.php中移除WP_CACHE定义:

1  define( 'WP_CACHE', true );

移除插件写入.htaccess文件中的规则(请看上面)。

删除插件文件夹中的wp-super-cache目录

另外,可选删除 advanced-cache.php, wp-cache-config.php 和在wp-content/目录中的缓存文件夹。

自定义缓存

现在可实现通过 add_cacheaction() 函数hook进缓存进程。 可用三个hook:

‘wpcachegetcookiesvalues’ – 修改原WP Cache使用的键。

‘add_cacheaction’ – 在phase2运行。 允许一个插件添加WordPress hooks。

‘cacheadminpage’ – 在管理页面运行。使用它来修改页面,可能通过添加新的设置选项来实现。

这里还有一个常用WordPress Filter。 使用 “docreatesupercache” filter 来自定义缓存前的检查。 这个filter接受一个参数。 输出WP-Cache的wpcachegetcookies_values() 函数。

 

WordPress极客主题:Geeky

jietu1 640x516 WordPress极客主题:Geeky

作者:老鬼            (我爱WordPress就是用的这个主题)

转换成WordPress主题作者:gao

版本:0.2

类别:极客博客,两栏模板 二栏

主题简介:

这又是一款大家非常喜欢的主题,估计看过极客集的朋友都想得到这款主题,gao完成了转换,现在已经是一款WordPrsss极客主题了,兼容主流浏览器,主题默认支持Twitter,详细的使用说明可以看主题压缩包中的使用说明。

主题下载:52wordpress下载

 

WP数据库插件WP-DBManager全攻略

WordPress数据库辅助管理插件。

WP-DBManager主要功能包括:

优化WordPress数据库。

修复WordPress数据库。

备份WordPress数据库。

恢复WordPress数据库。

还能对数据库进行一些操作,比如删除备份的数据,删除无用的数据表;最重要的功能是支持数据库定时备份,定时优化。

插件作者:Lester ‘GaMerZ’ Chan

目前WP-DBManager最新版本是2.5,支持WordPress 2.8.5。

插件有中文语言包,中文语言包下载地址:http://plugins.trac.wordpress.org/browser/wp-dbmanager/i18n/

WP-DBManager插件使用方法:

上传到插件目录,在WordPress控制面板激活插件。

插件激活之后,会在wp-content目录生成一个backup-db的目录,目录的默认需要的权限是:777。

wp-content/plugins/wp-dbmanager目录中的 htaccess.txt重命名为:.htaccess。 并把.htaccess文件的存放目录变更为:wp-content/backup-db

最后到 WP-Admin -> Database -> DB Options 去确认WP_DBManager的一些选项。

详细操作:

插件管理首页,会显示出当前WordPress博客的数据库信息和数据表信息。

WP-DBManage其实相当于一个小型的数据库管理工具:

08 WP数据库插件WP DBManager全攻略

虽然只是一个插件,就像最开始介绍的一样,对数据库的主要操作,和phpMyAdmin一样强大。

一,Backup-DB:备份数据

点击Backup-DB,右侧出现的界面主要有两块,第一块主要显示你的WP-DBManage插件是否设置的正确。如果有红色的提示出现,那说明你的插件设置还是有问题的,按提示修改或完成设置,当 Checking Backup Status(检测数据备份状态)下都是绿色字体时,那说明设置完全正确了。

开始备份数据,在备份之前,我爱WordPress把一些选项做了说明,(其实WP-DBManage插件中文语言包都翻译好了。)

DB WP数据库插件WP DBManager全攻略

点击 Backup,数据备份完成之后,会提示:

Database Backed Up Successfully On ’2010年01月30日 @ 7:15 下午’.

二,Manage Backup Database:管理备份的数据

每次备份的数据,都不会覆盖之前备份的,会按时间顺序显示在 管理备份数据 这里,可以选择备份的数据,然后发送到指定的邮箱里,也可以下载,恢复,删除备份的数据。

00008 WP数据库插件WP DBManager全攻略

三,Optimize Database:优化数据库

数据库优化原则:Database should be optimize once every month.(应该每月优化一次)

67891 WP数据库插件WP DBManager全攻略

数据表的优化可以单独选择,强大。

四,Repair Database:数据库修复

和数据库优化差不多,可以单独修复数据表。

五,Empty/Drop Tables:清空或删除数据表

WordPress默认的只有11个数据表,但是有一些插件在启用之后,会生成数据库表,如果不需要使用插件了,可以在这里删除对应的数据表,各位最好在WordPress建好之后,把数据表截图一张,这样以后删除无用的数据表的时候可以对照一下,防止出现误删,当然,还是要先备份数据库。

数据表的清空或删除只能操作选择一个。

六,Run SQL Query:执行数据库语句

平常用的少,这里就不介绍了。当然最主要的还是一般情况下用不找,而且对初学者来说,使用数据库语句是有困难的,所以使用其他方法即可。

七,Database Options:数据库选项
  1. Path:路径,这里是说数据库在服务器上保存的绝对路径。一般默认即可。
  2. Maximum Backup Files:这个的意思是最多保留的数据库备份文件,官方默认的是10个,多余的会自动删除。其实我爱WP认为,有两个已经很OK了。
  3. Automatic Scheduling:设置数据库自动操作

121 WP数据库插件WP DBManager全攻略

  1. 数据库自动备份。可以设置备份的时间,每周备份一次不错的。
  2. 数据库优化。设置数据库每隔多长时间优化一次,每月优化一次就OK。
八,卸载WP-DBManage

好的插件不但有详细的安装、使用教程,又需要有 卸载程序,这样可以给使用者节省很多的麻烦。

在卸载插件的页面,有这么一段话:Deactivating WP-DBManager plugin does not remove any data that may have been created, such as the database options. To completely remove this plugin, you can uninstall it here.

禁用插件不会删除生成的任何数据,完全移除插件,可以使用插件提供的uninstall功能。

到此,插件就介绍完了。总体来说,这个插件还是十分强大的。特别是插件自动备份并发送到指定邮箱的功能。

插件目前支持很多WordPress版本,52wordpress只提供最新版的,支持WordPress 2.8.5的。插件官方主页,可以在文章最开始的地方看到。

 

WordPress最佳翻页插件

前边介绍了四个我爱WP已经安装的插件,分别是WordPress历史文档归档插件WordPress页面静态化插件中文自动翻译成英语slug插件禁用自动保存,这次要说的是WordPress的最佳翻页插件WP-PageNavi。 WordPress自带了很简单的翻页功能,简单到了极致,只有“上一页”和“下一页”,随着文章的增多,这么简单的翻页功能显然不能满足访客的需要,于是,这款插件应运而生。

WP-PageNavi能够显示出来总共有多少页以及访客当前在第几页,当然也包括“上一页”和“下一页”,还有从1开始的,可以自定义数量的,到某个页面的链接。以上提及的这些文字,在插件的设置页面中都可以进行设置,也可以自定义css。据我爱WP观察,相当多的WordPress站点使用了这个插件。

在Wp-PageNavi的设置页面,可以看到如下的变量:%CURRENT_PAGE%:当前页。如果在首页,这个数字会显示为1,如果向后翻了一页,这个数字就变成2。%TOTAL_PAGES%: 总共有多少个页面。这两个变量可以设置在“Text For Number Of Pages”里边,如果是中文的博客,写成“第 %CURRENT_PAGE% 页 总 %TOTAL_PAGES% 页”是个不错的选择。WP-PageNavi还有很多的设置,用文字叙述不如用图片说明,俗称,有图有真相。注意一下翻页功能的上下两条虚线,很插件本身没有关系,是其他的css造成的。(点小图看大图)

wp pagenavi 300x131 WordPress最佳翻页插件

设置完成之后还不够,还需要把一段代码插入到希望显示出来翻页功能的位置,

<?php if(function_exists(‘wp_pagenavi’)) { wp_pagenavi(); } ?>
具体操作是找到index.php文件,我爱WordPress的设置截图如下:
01 WordPress最佳翻页插件
这样才算大功告成。具休效果请看我爱WordPress的底下翻页效果。

感谢插件作者Lester ‘GaMerZ’ Chan写出如此之好的插件供我们使用。

有什么不清楚的留言给我。

 

 

禁用WordPress的自动保存功能

嗯,我已经介绍了在这个博客程序上安装的三个插件,分别是WordPress历史文档归档插件WordPress页面静态化插件中文自动翻译成英语slug插件,今天说的这个插件是Disable autosave。这个插件的功能是禁用了WordPress的自动保存的功能。WordPress从2.6开始,增加了自动保存的功能,也就是在添加新文章的时候,程序会每隔一定的时间,自动将文本编辑窗口中的内容保存到数据库。这个功能有一定的争议,支持者认为这样可以有效降低浏览器故障导致窗口突然关闭而没有来得及保存文章这种情况带来的风险,而反对者认为这个功能使数据库中保存了很多无用的数据,会造成数据库冗余,查询缓慢。

反对者想出了一些办法来试图屏蔽掉自动保存的功能,例如,直接修改源代码,注释掉包含”autosave”的行,这样做有几点不好的地方,一是如果WordPress升级,这样做的效果就消失了,二是,在编辑文章的时候,浏览器左下角会报一个javascripts的错误。所以我没有使用这种方法,而是用了一个插件,Disable autosave。在安装并启用这个插件之后,插件就可以直接禁用掉WordPress的自动保存功能。

如果你也像我一样不喜欢WordPress的自动保存功能,也赶紧用一下Disable autosave吧!

还有另外的方法,视频教程禁用自动存档文章多个修订版本的功能 大家可参考:

自动存档文章多个修订版本,也就是revision, 是 WordPress 在2.6版之后加入的功能。您每修改一次日志,就会增加一个 revision , 如果您修改多次数篇日志之后,这将是一个很可怕的数量。您如果有上百篇的日志,您的冗余 revisiong 可能有上千篇之多。

Revision Manager 正是为此而来,删除大量冗余 revision 对提高 SQL 语句执行速度,提升 WordPress 运行速度有很大的好处。

delete revision插件
删除冗余多个文章版本

revision control插件
禁用或控制自动存档文章多个修订版本

这部分内容很简单,却很有用。

 

WordPress历史文档归档插件

今天启用了Clean Archives Reloaded插件,这是一个把历史文章归档,并将其链接显示在一个页面内的插件。Clean Archives Reloaded在Wordpress.org上的页面是:

http://wordpress.org/extend/plugins/clean-archives-reloaded/

插件作者的网站在:

http://www.viper007bond.com/

Clean Archives Reloaded的最新版本是3.1.10

Clean Archives Reloaded的安装和设置不是很困难。FTP上传到/wp-content/plugins目录后,在后台启用插件,之后新建一个页面,页面中的内容可以填两项: “{cartotalposts}“ 和 ”{cleanarchivesreloaded}“(注意要把大括号改成中括号)。 前者显示出来博客内的文章数量,后者显示出来一个利用javascripts生成的可折叠的文章链接列表。

注:经过多次测试,我却没发现该插件升级以后所的最新版本是3.1.10使用已经很简单了, 安装插件后只需随便生成一个page,内容部分添加:”{cleanarchivesreloaded}“(注意要把大括号改成中括号)即可。

展示效果如下:

展开所有月份
  • 2011 年十月 (7)
    • 25: WordPress与微博整合 (71)
    • 25: WordPress插件介绍-Robots Meta插件添加页面的meta信息 (2)
    • 25: Google Analytics for WordPress,谷歌统计插件 (1)
    • 25: 如何在WordPress中安装 Google Analytics 数据分析 (1)
    • 24: 浅析插件Dagon Design Sitemap应用 (6)
    • 24: Akismet(Automattic Kismet)垃圾留言过滤系统 (1)
    • 24: WordPress超强SEO插件All In One SEO Pack PRO破解版 (0)
  • 2011 年一月 (8)
  • 2010 年十二月 (10)
  • 2010 年十一月 (29)
  • 2010 年七月 (7)
  • 2010 年六月 (9)
  • 2010 年五月 (8)
  • 2010 年四月 (4)
  • 2010 年三月 (9)
  • 2010 年二月 (10)
  • 2010 年一月 (20)

使用插件之后的具体效果,可以参见:http://www.52wordpress.net

感谢插件的作者,写出这么优秀的插件供别人使用。

 

WordPress页面静态化插件

上篇我们介绍和安装好的WordPress历史文档归档插件(Clean Archives Reloaded插件),cos-html-cache则是装好WordPress后第一个安装的插件。cos-html-cache的作用是页面静态化。cos-html-cache能够生成文章和首页HTML缓存文件,当有评论、修改、添加和删除文章的时候更新首页和当前页面缓存。在http://wordpress.org/extend/plugins/cos-html-cache/ 可以下载到cos-html-cache的最新的版本,当然,插件作者的网站,也可以找到插件的安装及使用方法。目前此插件的最新版本是2.7.3

其实在去年,我已经知道并开始使用cos-html-cache,这个插件安装和配置的难度会大于Clean Archives Reloaded,最大的问题是,所有操作都按照插件作者在文档中描述的进行,每个步骤都是正确的,但得不到正确的结果,就是无法生成静态页面。碰到这种情况,恐怕只能换其他类似的插件了。我曾经有一个Blog百般测试之后,还无法使用cos-html-cache,无奈只能换成了另外一个类似功能的插件:WP-Super-Cache

在国外的一些虚拟主机上,PHP中的函数$_SERVER取得的值,比较神秘,这种情况下,cos-html-cache生成的静态页面,不会保存在你指定的目录下,有可能会保存在空间的根目录下。插件作者对于这种情况给出了一个解决方案。修改cos-html-cache.php文件 将$path = $_SERVER[‘DOCUMENT_ROOT’].”/”;替换为$path = ABSPATH ; 如果目录依然错乱,继续修改 $path = ABSPATH.”/youblogdir”,直到正常为止。我和我的朋友都碰到过这个问题,修改之后得以解决。

页面静态化以后,对服务器和数据库的压力将会减少。相对于从数据库中读出并显示出来,浏览者会感觉到页面完全加载的时间很变短,同时服务器资源超标的可能性也会降低。很感谢作者能写出如此优秀的WordPress插件。