WOZ模块给Zen-cart提供了集成WordPress作为其博客系统的机会,不过,如果你用的是WordPress2.7版本,集成完毕后访问首页(http://your.zen-cart.com/index.php?main_page=wordpress),可能会出现类似下面的错误:
Warning: Cannot modify header information – headers already sent by (output started at E:\xampp\htdocs\zen-cart-with-wordpress\includes\templates\template_default\common\html_header.php:22) in E:\xampp\htdocs\zen-cart-with-wordpress\wordpress2.7.1\wp-includes\pluggable.php on line 850
而WordPress2.5版本则不会有类似的问题。
要解决这个问题很容易,只要把WordPress网址转发功能给屏蔽掉就好了。在WordPress主题的functions.php文件里加上这么一行代码就好了:
remove_filter(‘template_redirect’,'redirect_canonical’);
如果你用的是WOZ,则在default主题的functions.php文件里加入这段代码即可。有关这个问题的详细解释,以及WordPress转发网址的理由,可以查看Velvet Blues的这篇文章。
经常在自己的Wordpress博客贴一些代码,可是Wordpress会自动帮我把每行开头的空格给过滤掉。这样就弄坏了代码的风格,代码的可读性很差,不可能上来看看代码还得再排排版吧?
有几种方法可能解决这个问题:
1) 在html编辑模式下,用 来添加空格;
2) 用<pre></pre>把代码给框起来, 或是用文件编辑器里的code按钮把代码给框起来。
在这里,我更倾向于用<pre></pre>标签,”pre”是早期HTML标准中用来指示”原样引用”的标记,取”preservation”的缩写。这样,用<pre></pre>标签就能把所有的代码原封不动的按编辑时的格式显示出来。
用下面的这段代码来试验一下:
for (num_data = 0; num_data < _NUM_DATA; num_data++)
{
for (y = 0; y < _Y; y++)
{
for (x=0; x < _X; x++)
{
LOG << _Pattern[num_data * _Y * _X + y * _X + x];
}
LOG << std::endl;
}
}
可以在这里试试<pre></pre>标签的效果。
WordPress-mu的安装和一般的免费php系统相比起来,有点麻烦,经常一不小心就出现类似于
Error establishing a database connection
的错误。下面就简单介绍一下我在Xampp里安装Wordpress-mu本地测试系统的方法。
首先,要对Apache进行必要的设置:
1) 对/xampp/apache/conf/httpd.conf文件里的rewrite_module修改成如下形式:
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
2) 在httpd.conf文件里的<Directory>相关的信息里,把这行
“AllowOverride None”
改为
“AllowOverride FileInfo Options”
因为Wordpress-mu系统只能安装在80端口,并且不允许用IP作为访问的方式。因此,为了出错的概率比较小,我们需要在Apache里设置一下基于域名的虚拟主机,在文件/xampp/apache/conf/extra/httpd-vhosts.conf里加上类似这种内容:
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin webmaster@localhost.localdomain
DocumentRoot E:/xampp/htdocs/wordpress-mu
ServerName *.localhost.localdomain
# ErrorLog @rel_logfiledir@/localhost.localdomain
# CustomLog @rel_logfiledir@/localhost.localdomain
</VirtualHost>
把Wordpress-mu的安装文件解压后,直接扔到上面设定的虚拟主机目录里,在这里是E:/xampp/htdocs/wordpress-mu。
因为我们是在本地做测试用,并不需要一个真正的域名解析到本地,所以,虚拟主机里的localhost.localdomain这个域名,你可以任意设定。
然后,我们需要修改Windows的Hosts文件,把你刚刚填的虚假域名以及你需要的域名解析到本地即可:
127.0.0.1 localhost.localdomain
127.0.0.1 blog1.localhost.localdomain
127.0.0.1 blog2.localhost.localdomain
启动Apache和MySQL服务后,在浏览器里访问http://localhost.localdomain,根据提示填写相关内容即可进行Wordpress-mu的安装。
注意,安装时Server Address不要填127.0.0.1,而要填你上面写的localhost.localdomain(你上面的假域名是啥,就填啥)。

在新的Wordpress平台上出于安全的考虑默认xml-rpc services是关闭的,但现在要使用ScribeFire或Windows Live Writer远程发布就得手动开启这个服务了,操作也相当简单:
How to enable XML-RPC on your wordpress blog?Login as Admin to your wordpress blog.
Click on Settings.
Click on Writing under Settings Menu.
Click on the check box named XML-RPC [Enable the WordPress, Movable Type, MetaWeblog and Blogger XML-RPC publishing protocols.]
Save the settings.

如果你的Zen-cart需要一个Blog来发布一些你的最新动态,可以试试Wordpress,并且用WOZ这个Zen-cart的Module来把它们关联起来。WOZ的全名叫WordPress On Zen-cart。
下面就详细介绍一下WOZ的安装方法,当然你可以在WOZ包里找到英文的安装说明。我所使用的版本为zen-cart1.3.8和wordpress2.6,至于其它版本能否集成,没有测试过。
WordPress on Zen-cart总的来说有两种安装模式:
第一种是把Wordpress的文件全部解压到Zen-cart的根目录下,另一种方法是把Wordpress单独放到Zen-cart下新建的一个目录里。
两种方法最后访问Wordpress的地址都是:
[Zen-Cart URL]/index.php?main_page=wordpress
第一步,安装Wordpress
把Wordpress解压到你的Zen-cart目录下,然后把Wordpress的文件夹名改为blog,呵,看起来感觉会爽一些。
这一步的安装和普通的Wordpress安装没啥区别。
第二步:设置Wordpress
在Wordpress的后台设置一下,setting -> General -> Blog address(URL)
把Blog address (URL)改为[Zen-Cart URL],即http://your.zen-cart.com
把主题设为默认主题。
第三步:上传WOZ的文件
建议用ftp直接覆盖:
把WOZ解压后的ZC_ROOT目录下的文件上传到服务器Zen-cart的安装目录下。
把WOZ解压后的WP_ROOT目录下的文件上传到服务器WordPress的安装目录下。
再把/ZC_ROOT/includes/templates/MY_TEMP/里的CSS文件上传到你的Zen-cart模板里的CSS文件夹里。这个是Wordpress的显示主题。
第四步:修改Wordpress的文件
在你的Wordpress安装目录下,找到[Path of WordPress]/wp-include/template-loader.php,把所有的“exit;”都替换成“return;”。
如果你的Wordpress版本比较新,就不需要做这一步的工作了。
第五步:修改Zen-cart文件
打开Zen-cart安装目录下的[Path of Zen-Cart]/includes/extra_configures/wordpress-config.php,把
define (‘ABSPATH’,'/var/www/vhost/example.com/public_html/blog/’);
替换为
define (‘ABSPATH’,’[Path of WordPress]‘);
比如说,在我本地我是改为这样的东西:
define (‘ABSPATH’,'E:/mywebs/zen-cart/blog/’);
记住,这个路径得是你服务器上的绝对路径。
第六步:布局设置
在Zen-cart后台管理面板的admin panel › tools › Layout Boxes Controller里,选择打开你需要的Wordpress侧栏框。所有和Wordpress有关的侧栏框都是以WP_XXX格式存在的。
第七步:检查
现在你可以通过
http://your.zen-cart.com/index.php?main_page=wordpress
这个网址来访问你的Wordpress了。
如果你能看到Wordpress,则表明你已经把Wordpress集成到了Zen-cart里了。
完成了这七步,基本上就把Wordpress的显示页面整合到了Zen-cart里面。
WordPress本身没有自带留言本,的确是有一点不方便,但是我们可以自己来定制。
1) 用外部留言本
因为好多人用的都是BSP提供的空间,不允许自己安装插件,当然也不允许自己随便修改代码,所以用一些外部的程序会好一些。
比如,你可以用http://www.jotform.com提供的留言本功能,把生成的Javascript代码放到你新建的Wordpress页面里去。
这个方法虽然做出来的东西还算漂亮、定制性很强,不过终归是和Wordpress分开的。
类似的东西还有http://www.shoutmix.com/,http://wufoo.com/等。
2) 在Wordpress的后台新建一个页面,并修改页面模板,在“<?php endwhile; endif; ?>”的前面添加“<p><?php comments_template(); ?></p>”这段代码。
详细的修改方法看这个博文:http://www.tianliang.org/631893/
这个方法其实就是用Wordpress的评论功能,缺点是把留言的title显示为评论!
3) 如果你拥有服务器更多的权限,就可以通过修改页面来达到做留言板的目的。
请参考这个大部头的博文:http://www.sbtalk.com.cn/2007/06/16/wordpress_guestbook.html
4) 安装Wordpress的插件。很多类似的插件,上官方网站搜一下就知道了。
在写博客的时候,如果要按中文的习惯在每段开头空两格,实在是很不容易做到。仅仅简单地输入几个空格并不能有效地解决这个问题。今天看到一个文章,有助于实现这个需要。
原文地址:http://wpchina.org/leave-two-blank-character-before-every-paragraph-333/
在博客开头空两格,这对中文博客却又很有意义的功能。包括 WordPress 在内一些欧美博客程序开发者,显然并没有考虑到中文的排版习惯,没有在意这个功能。实际上,实现这个功能非常简单。
不仅是 WordPress ,其他的博客系统也存在类似的问题。以前我曾经考虑过使用空格符号来显示空格。但是这样的问题有两个:第一,对于不同的字体,每个空格所表示的大小并不一 样,因此换一个主题可能就不准确了;第二,也是更无奈的,有些博客程序会过滤掉开头的空格,比如 Blogger 就有这样的过滤效果。
另外一个可替代的办法是,使用全角的空格符号来代替。这个办法比上面的办法稍微高级一些,也不会被过滤掉。我看到很多编辑、记者等对文字要求比较高的文字工作者,使用这个办法。这样做的缺点是比较麻烦,每一段都要将输入法切换到全角,输入两个空格。
最为简单的办法,是我们今天所要介绍的,通过样式表文件,即 style.css 来控制。熟悉 style.css 的网友,只要你在适当的位置添加上
- p {text-indent:2em;}
就可以实现这个功能。这也是我们 WordPress 中文站目前所采用的办法。具体的原因和解释,请查看久酷烟云的博客:实现wordpress段首空两格
你或许会有一些RSS源的内容,需要定期导入到你自己用WordPress搭建的博客里。如果是这样的话,你就需要用上WP-o-Matic这个插件了。
插件的安装很简单:
1) 把wpomatic.zip解压到你服务器上Wordpress的/wp-content/plugins/目录下;
2) 在WordPress的后台管理中,激活WP-o-Matic这个插件;
3) 根据向导填写相关内容。
千万不要把鸡蛋都放在一个篮子里,对于号称数据非常安全的Blogger也不例外!出于一些众所周知的原因,Blogger经常要么不能访问,要么就是很慢。所以,你是否想过在中国境内做一个你在Blogger窝点的镜像或是”伪”站?yo2.cn是一个不错的选择。
因为yo2.cn是用WordPress搭建的博客,所以我觉得目前最好的办法应该是用WordPress.com做中转:
1、 在WordPress.com上注册博客;
2、在WordPress.com的后台管理页面,用导入工具把Blogger的内容导入到你在WordPress.com上的博客里;
3、同样在WordPress.com的后台管理页面,用导出工具把WordPress的内容导出为XML文件;
4、在yo2.cn的控制台导入这个XML文件。
网上还流传一种方法,用www.blogbackuponline.com来导入。此方法不用中转,先注册账号、备份blogspot,然后使用它的Restore功能,输入你的YO2网址,选择网站类型为Wordpress。有两种导入方式;全部导入和选择特定导入。如果你有大量文章的话,最好分多次导入,每次导入不要超过50篇,超过后可能会丢失部分文章。我认为此方法不好,因为Blogbackuponline的免费帐号不支持Restore功能,用惯了免费软件的今天,你还会为此付费么?
鉴于Wordpress的流行程度,所以第一种方法可以在很多博客搬家中借鉴。你也可以找些类似于Wordpress的网站(如Blogates)来做中转。