昨天简单介绍了 Question2Answer 开源免费的 PHP 问答系统,上班时把公司的问答系统重新设计了,与产品网站风格统一。 Question2Answer 问答系统使用很简单,但不简单,很强大的,唯一不足的就是页面设计的太差了,相应的主题也少,好在主题的设计不是很复杂,一天的时间把整个页面重新设计好了。 Question2Answer 问答系统安装很简单,就略过了,我们来看下怎么把 Question2Answer 和 WordPress 整合安装在一起:

一、下载最新中文版 Question2Anwrer,解压到文件

二、在解压的目录找到 qa-config-example.php,把他重命名成 qa-config.php

三、用编辑器 (推荐 Notepad 、 Sublime Text) 打开 qa-config.php,插入一个新行指向 WordPress 所在的目录:define('QA_WORDPRESS_INTEGRATE_PATH', '/PATH/TO/WORDPRESS');这时候不用在 qa-config.php 中配置数据库信息,因为此时 Question2Answer 和 WordPress 公用同一个数据库。

四、将所有文件上传到服务器上

五、确保 WordPress 的 cookie 配置和重定向配置兼容 Question2Answer;

1 、如果 Question2Answer 安装在 WordPress 目录下,那么不用做任何修改。

2 、如果 Qustion2Anser 和 WordPress 在同一个域名下,但是 Question2Answer 不在 WordPress 的子目录,那么需要在 WordPress 的配置文件 wp-config.php 中加入:define('COOKIEPATH', '/');

3 、如果 Question2Answer 和 WordPress 使用不同的子域名 (比如 q2a.yfdxs.com 和 blog.yfdxs.com), 那么需要进行如下配置:

(1) 在 WordPress 的 wp-config.php 中加入如下的两行,将 test.com 替换成自己实际的域名信息

  1. define('COOKIEPATH', '/');
  2. define('COOKIE_DOMAIN', '.yfdxs.com');

(2) 在 WordPress 的 wp-config.php 的最后加入下面代码,注意把 qa.yfdxs.com 替换成自己的真实域名信息

  1. add_filter('allowed_redirect_hosts', 'qa_WordPress_redirect_hosts');
  2. function qa_WordPress_redirect_hosts($content) {
  3.         $content[] = 'qa.yfdxs.com';
  4.         return $content;
  5. }

六、打开 Question2Answer 安装的对应域名 (例如:子域名 http://q2a.XXX.com, 子目录 http://blog.XXX.com/qa) 打开浏览器,找屏幕说明进行 Question2Answer 的安装。

简单强大的 Question2Answer 问答系统与简单强大的 CMS 系统 WordPress 就整合在一起。

经过笔者的使用,感觉整合在一起优缺点都很明显:

优点:

  • 1 、数据库可以共用,在任一系统注册都可以在另一系统使用;
  • 2 、两系统的登录与注册页面共用 WordPress 的;
  • 3 、 Question2Answer 会自动在页面中添加 WordPress 的链接;
  • 4 、一个系统登录,另一个系统自动登录。

缺点:

  • 1 、 Question2Answer 登录栏输入了用户名和密码,点击登录还是跳转到 WordPress 的后台登录界面,Question2Answer 自身的登录与注册页面就没有了;
  • 2 、在 Question2Answer 任何页面登出后,都会跳转到 WordPress 的后台登录页面;

笔者

个人觉得还是放在同一目录下单独使用,具体什么样的效果,还是自己亲自体验才知道。