wordpress整合问答平台Question2Answer

十度 wordpress 2015年12月20日 收藏

Question2Answer是一款类似于StackOverflow的php开源问答系统,国内新浪微博问答平台(http://open.weibo.com/qa/)就是采用该系统制作的,目前Question2Answer1.4+版本开始提供了跟wordpress 3.x整合的功能,下面就让我们呢来看下如何整合Question2Answer到wordpress3.0+中:
1、下载并安装Question2Answer(下载地址question2answer-latest.zip):Question2Answer安装介绍
2、在解压的目录找到qa-config-example.php,把他重命名成qa-config.php
3、用编辑器打开qa-config.php,插入一个新行(/PATH/TO/WORDPRESS指向wordpress所在的目录:

define('QA_WORDPRESS_INTEGRATE_PATH', '/PATH/TO/WORDPRESS');

这时候不用在qa-config.php中配置数据库信息,因为此时Question2Answer和wordpress公用同一个数据库。
4、将所有文件上传到服务器上
5、确保wordpress的cookie配置和重定向配置兼容Question2Answer:
如果Question2Answer安装在wordpress目录下,那么不用做任何修改。
如果Qustion2Anser和wordpress在同一个域名下,但是Question2Answer不在wordpress的子目录,那么需要在wordpress的配置文件wp-config.php中加入:

define('COOKIEPATH', '/'); 

如果Question2Answer和Wordpress使用不同的子域名(比如q2a.test.com和blog.test.com),那么需要进行如下配置:
在wordpress的wp-config.php中加入如下的两行,将test.com替换成自己实际的域名信息

define('COOKIEPATH', '/');
define('COOKIE_DOMAIN', '.mysite.com');

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

/** To allow redirection from WordPress login to Question2Answer **/
add_filter('allowed_redirect_hosts', 'qa_wordpress_redirect_hosts');
function qa_wordpress_redirect_hosts($content) {
        $content[] = 'qa.mysite.com';
        return $content;
}

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

参考文档:http://q2achina.sinaapp.com/blog/archives/12/