AnsPress:Yahoo知恵袋やOKWAVEのようなQ&Aサービスが構築できる
分からないことがあったら、
ネット上で質問すると多くのユーザーから回答がもらえるサービスが色々あります。
総合的なものとしては、Yahoo 知恵袋や OKWAVE であったり、
特化型だと、弁護士ドットコム・teratail・Sherpa などがあります。
知識には様々なジャンルがあるので、特化型であればニーズもあるでしょう。
なので、上のような「Q&A」サービスを作りたい。
そのような時に便利な WordPress 用プラグインがあります。
それは「AnsPress」です。
そのインストール手順から日本語化・使い方と設定などを解説していきます。
AnsPress
AnsPress は、Yahoo 知恵袋や OKWAVE のような Q&A サービスを簡単に構築することができます。
ボットによるスパム投稿防止機能「reCaptcha」を導入可能。
また、質問をしたり、回答を書いたり、ベストアンサーに選んだりすると、
ポイントを付与できるポイント制度機能もあります。
記事を作成もしくは更新時点でのバージョン:v 4.0.5
マルチサイトでの利用:可
インストール手順
下記の URL から ZIP ファイルを入手して、管理画面からアップロードして有効化するか
AnsPress – WordPress.org
もしくは、WordPress.org の公式プラグインディレクトリにリリースされているので、
管理画面から入手できます。
ダッシュボードから「プラグイン」メニューの「新規追加」を選択し、
プラグイン追加画面右上の検索窓に「AnsPress」と入力します。
検索結果の一番左上に表示されると思うので、「今すぐインストール」をクリックします。
※一番左上に表示されない場合は、上記の画像から探して下さい。
インストールが完了したら、プラグインを「有効化」します。
プラグインのインストールに慣れていない方は、
下記の記事にて詳しく解説していますので、御覧ください。
WordPressプラグインのインストール手順を解説 – WordPress活用術
日本語化
AnsPress は、日本語化対応がされているので、有効化するだけで日本語化されます。
日本語化されない場合には、日本語化用の言語パックを translate.wordpress.org から入手できる場合があります。
WordPress と関連プロジェクト(テーマ・プラグイン)用の翻訳プラットフォームとして、
translate.wordpress.org (GlotPress) が導入されています。
※ボランティアで翻訳されている場合が多いので、
全てのプラグインで、必ずしも日本語化用の言語パックが用意されているわけでは無いです。
また、用意されていても 100% 翻訳されている保証もありません。
日本語化用の翻訳ファイルの探し方は、下記の記事を参照してください。
WordPress公式での日本語化用の翻訳ファイルの探し方 – WordPress活用術
専用テーブル
下記のテーブルを AnsPress 専用のテーブルとして作成し利用します。
テーブル作成時に $wpdb->prefix も使用しているので、マルチサイトにも対応。
activate.php から CREATE TABLE 文を抜粋(記事用に一部修正)。
CREATE TABLE `ap_qameta` (
`post_id` bigint(20) NOT NULL,
`selected_id` bigint(20) DEFAULT NULL,
`comments` bigint(20) DEFAULT 0,
`answers` bigint(20) DEFAULT 0,
`ptype` varchar(100) DEFAULT NULL,
`featured` tinyint(1) DEFAULT 0,
`selected` tinyint(1) DEFAULT 0,
`votes_up` bigint(20) DEFAULT 0,
`votes_down` bigint(20) DEFAULT 0,
`subscribers` TEXT DEFAULT NULL,
`views` bigint(20) DEFAULT 0,
`closed` tinyint(1) DEFAULT 0,
`flags` bigint(20) DEFAULT 0,
`terms` LONGTEXT DEFAULT NULL,
`attach` LONGTEXT DEFAULT NULL,
`activities` LONGTEXT DEFAULT NULL,
`fields` LONGTEXT DEFAULT NULL,
`roles` varchar(100) DEFAULT NULL,
`last_updated` timestamp NULL DEFAULT NULL,
UNIQUE KEY `post_id` (`post_id`)
)'
CREATE TABLE `ap_votes` (
`vote_id` bigint(20) NOT NULL AUTO_INCREMENT,
`vote_post_id` bigint(20) NOT NULL,
`vote_user_id` bigint(20) NOT NULL,
`vote_rec_user` bigint(20) NOT NULL,
`vote_type` varchar(100) DEFAULT NULL,
`vote_value` varchar(100) DEFAULT NULL,
`vote_date` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`vote_id`)
)'
CREATE TABLE `ap_views` (
`view_id` bigint(20) NOT NULL AUTO_INCREMENT,
`view_user_id` bigint(20) DEFAULT NULL,
`view_type` varchar(100) DEFAULT NULL,
`view_ref_id` bigint(20) DEFAULT NULL,
`view_ip` varchar(39),
`view_date` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`view_id`)
)'
CREATE TABLE `ap_reputations` (
`rep_id` bigint(20) NOT NULL AUTO_INCREMENT,
`rep_user_id` bigint(20) DEFAULT NULL,
`rep_event` varchar(100) DEFAULT NULL,
`rep_ref_id` bigint(20) DEFAULT NULL,
`rep_date` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`rep_id`)
)
CREATE TABLE `ap_subscribers` (
`subs_id` bigint(20) NOT NULL AUTO_INCREMENT,
`subs_user_id` bigint(20) NOT NULL,
`subs_ref_id` bigint(20) NOT NULL,
`subs_event` varchar(100) NOT NULL,
PRIMARY KEY (`subs_id`)
)
有効化すると
プラグインを有効化すると、
下記のようなメッセージが表示されます。
プラグインを有効化すると、最初にウェルカムページが表示されます。
専用メニューを開くとページ上部に上のようなメッセージが表示されます。
AnsPress 専用のトップページを設定してくださいと表示されています。
「Set automatically」リンクをクリックすると自動でページ作成と設定が行われます。
後から設定画面で変更することもできます。
バージョンによっては、アップグレード作業が必要になる場合があります。
専用メニュー
ダッシュボードの「コメント」メニューの下に追加されています。
AnsPress専用ダッシュボード
WordPress 標準のようなダッシュボードが用意されています。
質問と回答の状態を円グラフ表示と最新の質問と最新の回答がある質問を確認できます。
各種設定
General
Pages and Permalinks
- Hide author credits
プラグインの公式サイトへのリンクを隠すかどうか。 - Questions page
ショートコード[anspress]を記述してあるページを指定します。 - Ask question page slug
質問投稿ページのスラッグを設定します。 - Question slug
質問&回答のシングルページのスラッグを設定します。 - Question permalink
パーマリンク設定の設定をします。
Page Titles
- Base page title
質問一覧ページのタイトルを入力します。 - Ask page title
質問投稿ページのタイトルを入力します。 - Search page title
検索結果ページのタイトルを入力します。 - Author page title
投稿者ページのタイトルを入力します。 - Show solved prefix
解決した質問のタイトルの先頭に「解決済み」を追記するかどうか。
Layout
- Load assets in AnsPress page only?
AnsPress が生成するページでのみ AnsPress の JavaScript と CSS ファイルを読み込むようにするかどうか。※レイアウトが崩れる場合があります。
Avatar
- List avatar size
質問リストでの質問者のアバターのサイズを指定します。 - Question avatar size
個別質問&回答ページでの質問者のアバターのサイズを指定します。 - Answer avatar size
回答者のアバターのサイズを指定します。 - Answer avatar size
回答者のアバターのサイズを指定します。 - Comment avatar size
コメントを書いた人のアバターのサイズを指定します。
Items to show per page
- Questions per page
1 ページに表示する質問数を指定します。 - Answers per page
1 ページに表示する回答数を指定します。
Question & Answer
- Allow private posts
ユーザーが非公開の質問と回答を投稿できるようにするかどうか。 - Load comments
質問と回答へのコメントをデフォルトで表示するかどうか。 - Check duplicate
投稿前に重複した投稿がないかをチェックするかどうか。 - Disable question suggestion
質問投稿フォームで、よく似た質問を表示するかどうか。 - Show default date format
投稿や回答の時間経過を 1 時間前などでなくて、デフォルトの日付設定に従うかどうか。
Question
- Default question order
質問リストでの質問の表示順を指定します。アクティブ以外に投票数順・最新順・古い順を選択可。 - Keep stop words in question slug
処理対象外とする単語を取り除くかどうか。 - Minimum title length
質問のタイトルの最小文字数を設定します。 - Minimum question content
質問内容での最小文字数を設定します。 - Use text editor ?
テキストエディターをデフォルトで使うようにするかどうか。 - Disable comments
質問へのコメントを無効にするかどうか。 - Disable voting
質問に対する投票を無効にするかどうか。 - Disable down voting
質問に対する悪い評価投票を無効にするかどうか。 - Close question after selecting answer
解決した質問に対しての新たな回答を締め切るかどうか。
Answer
- Default answers order
デフォルトでの回答の並び順を設定します。アクティブ以外に投票数順・最新順・古い順を選択可。 - Multiple Answers
1 個の質問に対して 1 ユーザーが複数の回答を投稿できるようにするかどうか。 - Minimum question content
回答内容での最小文字数を設定します。 - Use text editor ?
テキストエディターをデフォルトで使うようにするかどうか。 - Disable comments
回答へのコメントを無効にするかどうか。 - Disable voting
回答に対する投票を無効にするかどうか。 - Disable down voting
回答に対する悪い評価投票を無効にするかどうか。
Add-ons
無料で使えるアドオン機能を有効・無効にすることができます。
Dynamic Avatar
WordPress 標準のアバターではなくて、動的にアバターを生成したい時に使用します。
- Clear Cache
動的に生成したアバターのキャッシュをクリアできます。 - Font family
アバターに利用するフォントの種類を選択します。 - Force avatar
アバターを強制するかどうか。
有効にすると、アバター表示が上のような感じになります。
Bad Words
質問のタイトルや質問と回答の内容に不適切な単語があるかをチェックしてフィルタリングしたい時に使用します。
単語をカンマ区切りで入力していきます。
BuddyPress
BuddyPress と統合したい時に使用します。
Category
質問をカテゴリー別に分類したい時に使用します。
- Ask form category order
質問投稿フォームでのカテゴリーの順番を指定します。ID・名前・スラッグ・カウント数・グループから選択できます。 - Categories page order by
カテゴリーでの質問の並び順を指定します。ID・名前・スラッグ・カウント数・グループから選択できます。 - Categories page order
並び順を昇順にするか降順にするかを指定します。 - Categories page slug
カテゴリーのスラッグを入力します。 - Category page slug
カテゴリーページのスラッグを入力します。 - Categories title
カテゴリーのタイトルを入力します。 - Category per page
1 ページあたりの表示数を入力します。 - Categories image height
カテゴリーで画像を使用する際の高さを入力します。
Tag
投稿された質問にタグをサポートしたい時に使用します。
- Tags to show
表示するタグ数を指定します。 - Maximum tags
指定できるタグの最大数を指定します。 - Minimum tags
指定できるタグの最小数を指定します。 - Tags page title
タグページのタイトルを入力します。 - Tags page slug
タグページのスラッグを指定します。 - Tag page slug
タグページのスラッグを指定します。
前述の「カテゴリー」と「タグ」を有効にしている時のメニューの状態です。
メール通知に関する設定ができます。
有効にするとタブが追加されます。
Notify admin(s)
- Admin email
メール通知する管理者のアドレスを入力します(デフォルトでは自動で設定されています)。 - New question
新しい質問が投稿されると管理者にメール通知するかどうか。 - 新しい回答
新しい回答が投稿されると管理者にメール通知するかどうか。 - New comment
新しいコメントが投稿されると管理者にメール通知するかどうか。 - 質問を編集
質問が編集されたら、管理者にメール通知するかどうか。 - 回答を編集
回答が編集されたら、管理者にメール通知するかどうか。 - Delete question
質問が破棄されたら、管理者にメール通知するかどうか。 - Delete answer
回答がゴミ箱に移動したら、管理者にメール通知するかどうか。
Templates
メール通知する際のタイトルや本文を編集できます。
新しい質問が投稿された時にメール通知する際のメール内容を定義します。
新しい回答が投稿された時にメール通知する際のメール内容を定義します。
ベストアンサーに選ばれた回答を投稿したユーザーにメール通知する際のメール内容を定義します。
新しいコメントが投稿された時にメール通知する際のメール内容を定義します。
質問が編集された時にメール通知する際のメール内容を定義します。
回答が編集された時にメール通知する際のメール内容を定義します。
Notification
ユーザープロフィール画面での通知タブに関する設定ができます。
※「User Profile」アドオンが有効時のみ有効な機能です。
- Notifications page title
「Notification」タブのタイトルを入力できます。 - Notifications page slug
「Notification」タブのスラッグを入力できます。 - Notifications page title
「Notification」タブのタイトルを入力できます。 - Notifications page slug
「Notification」タブのスラッグを入力できます。
※「User Profile」アドオンが無効時には、何故か同じ設定が 2 個ずつ表示されます。
User Profile
AnsPress 専用のユーザープロフィール画面に関する設定ができます。
- Questions page title
「Questions」タブのタイトルを入力します。 - Questions page slug
「Questions」タブのスラッグを入力します。 - Answers page title
「Answers」タブのタイトルを入力します。 - Answers page slug
「Answers」タブのスラッグを入力します。
reCaptcha
ロボットによるスパム投稿を排除するための機能「reCaptcha」の設定ができます。
- Recaptcha site key
site key を入力します。 - Recaptcha secret key
secret key を入力します。 - Recaptcha Method
Recaptcha の方式を指定します。
site key と secret key を未取得の場合には、下記の URL にアクセスして取得して下さい。
https://www.google.com/recaptcha/admin
Reputation
質問や回答を投稿したり、コメントを付けたり、ベストアンサーに選ばれた際等にポイントを付与できるポイント制度を導入できます。
※「User Profile」アドオンが有効時のみ有効な機能です。
有効にすると「ポイント」タブが追加されます。
- Reputations page title
「Reputations」タブのタイトルを入力できます。 - Reputations page slug
「Reputations」タブのスラッグを入力できます。 - Reputations page title
「Reputations」タブのタイトルを入力できます。 - Reputations page slug
「Reputations」タブのスラッグを入力できます。
※ここも「User Profile」アドオンが無効時には、何故か同じ設定が 2 個ずつ表示されます。
Events
ユーザーの行動に応じて割り振るポイントを設定できます。
- Registration
ユーザーアカウントの作成時に付与するポイントを設定できます。 - Asking
ユーザーが質問をした時に付与するポイントを設定できます。 - Answering
ユーザーが質問に答えた時に付与するポイントを設定できます。 - Commenting
ユーザーが質問または回答にコメントした時に付与するポイントを設定できます。 - Selecting an Answer
ユーザーが自分の質問に対する回答を選択した時に付与するポイントを設定できます。 - Answer selected as best
回答の中からベストアンサーとして選択された場合に付与するポイントを設定できます。 - Received up vote
「良い評価」をされた時に付与するポイントを設定できます。 - Received down vote
「悪い評価」をされた時に付与するポイントをを設定できます。 - Gives an up vote
ユーザーが投票をした時に付与するポイントを設定できます。 - Gives down vote
ユーザーが投票(悪い評価)をした時に付与するポイントを設定できます。
Access
アクセス制御に関する設定ができます。
Permissions
- Only logged in can see questions, answer and comments?
ログインユーザーのみに質問・回答・コメントを表示するかどうか。 - Multiple answers
ユーザーひとりひとりが一つの質問に対して複数の回答を投稿できるようにするかどうか。 - Asker can answer
質問者も自分の質問に対して回答をできるようにするかどうか。 - Allow anonymous
ログインしていないユーザーが質問と回答の投稿をできるようにするかどうか。 - Only admin can answer
質問に対する回答を管理者のみが回答できるようにするかどうか。 - Only logged in can see answers
ログインしていないユーザーには回答を表示しないようにするかどうか。 - Only logged in can see comment
ログインしていないユーザーにはコメントを表示しないようにするかどうか。 - Lock delete action
ユーザーが自分の投稿またはコメントを削除できないように一定期間後にロックします。初期値:86400(秒)= 1日。
Upload
- Allow image upload
ログインユーザーに画像のアップロードを許可するかどうか。 - Max uploads per post
投稿ごとにアップロードできるメディアファイルの数を設定します。 - Max upload size
最大アップロードサイズを設定します。
Moderate
質問や回答の新規投稿や編集された際のステータスを設定します。
- Status of new question
新規投稿のステータスを設定します。 - Status of edited question
投稿が編集された際のステータスを設定します。 - Status of new answer
新しい回答のステータスを設定します。 - Status of edited answer
回答が編集された際のステータスを設定します。 - Status of anonymous post
未ログインユーザーによる投稿のステータスを設定します。
Tools
Re-count
質問と回答への投票数や各ユーザーの獲得ポイントなどを再計算できます。
- 投票数
質問と回答のすべての投票数を再計算します。 - 回答
すべての質問の回答を再計算します。 - Flagged posts
フラグが立てられた投稿を再カウントします。 - Subscribers
質問の購読者を再カウントします。 - Reputations
すべてのユーザーの評判ポイントを再計算します。
User roles
ユーザー権限の作成・編集を行うことができます。
Uninstall – clear all AnsPress data
AnsPress が保持している各種データを削除することができます。
このセクションについては、内容が理解できない場合には使用しないのが賢明です。
- Permanently delete all questions and answers?
このボタンをクリックすると、全ての質問と回答がデータベースから削除されます。 - Permanently delete all answers?
このボタンをクリックすると、全ての回答とその回答に関連するデータがデータベースから削除されます。 - Permanently delete all AnsPress user data?
このボタンをクリックすると、AnsPress によって追加された全てのユーザーのデータが削除されます。 - Permanently delete all AnsPress options?
このボタンをクリックすると、AnsPress の全てのオプションが削除されます。 - Permanently delete all AnsPress terms?
このボタンをクリックすると、AnsPress の全ての用語データが削除されます。 - Permanently delete all AnsPress tables?
このボタンをクリックすると、AnsPress の専用のデータベースのテーブルが削除されます。
使い方など
質問一覧を表示している画面です。
質問の新規投稿や検索することもできます。
ログインしていないとアカウントの作成もしくはログインするためのボタンが表示されます.
質問を新規投稿する際の投稿画面です。
タイトルを入力すると、同じタイトルの質問があると通知してくれます。
質問一覧から個別ページを開いた時の画面です。
回答の投稿やコメント投稿などができます。
回答を書いている状態の画面です。
同じ内容の回答をすると上のようなメッセージが表示されます。
コメントを書いている状態の画面です。
質問に回答がある状態の画面です。
コメントが付いている状態の画面です。
質問をキーワードで絞り込み検索をすることができます。
質問のステータスに応じて並び替えることもできます。
質問や回答には、良い評価もしくは悪い評価を投票できます。
押し間違えた場合には、再度クリックすることで元に戻せます。
回答には、「選択」ボタンをクリックすることで、ベストアンサーに選ぶことができます。
「・・・」ボタンをクリックすると、
押したユーザーの権限に応じたサブメニューが表示されます。
質問や回答に不備が場合には、「フラグ」メニューを選ぶと管理者に通知されます。
質問や回答に対して、フラグボタンが押されていると、
専用メニューや管理画面で確認できます。
確認後、フラグをクリアするとフラグを消すことができます。
専用ウィジェット
質問投稿フォームを設置できるウィジェットです。
パンくずリストを表示できるウィジェットです。
簡易的な質問一覧を表示できるウィジェットです。
質問を検索できるフォームを設置できるウィジェットです。
このウィジェットは、個別の質問ページでのみ使用できます。
表示されると上のような感じで表示されます。