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

筆者

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