昨天簡單介紹了 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 的後台登錄頁面;

筆者

個人覺得還是放在同一目錄下單獨使用,具體什麼樣的效果,還是自己親自體驗才知道。