サイトへユーザー登録した人が質問したり回答したりできるQ&Aを作りたいと思ったことありませんか?本ページではユーザー参加型Q&Aコンテンツを比較的簡単にWordPressで作ったサイトへ導入できるプラグインを紹介します。
Q&Aコンテンツを作るのに必要な機能を備えた有名なプラグインに「DW Question and Answer」というのがありますが、今回紹介する「AnsPress – Question and answer」は「DW Question and Answer」で「こんなことできたらいいのに」と思うことが実現できるプラグインだと思います。
【AnsPress – Question and answer】プラグインの用途や機能
Q&Aの基本機能である「質問」と「回答」以外でできることを列記します
- 質問や回答に対してコメントを残すことができます
- 投票機能・ベストアンサー機能があります
- さまざまなメール通知機能があります
- Captcha機能でスパム防止できます
- プライベート機能(管理者への直接問い合わせ)
- 違反通報機能
- 登録ユーザーの簡単なプロフィール表示
- 気になる質問に対してアクションがあった場合にメールで通知できます(フォロー機能)
- 未登録ユーザーでも質問・回答ができます
- 質問をタグやカテゴリー分けできます
- 登録ユーザーの行動によってポイントを付与できる
※試用した感覚では基本的な動作については問題なさそうですが、いろいろと作者サイトのページで質疑が行われています。導入前にこちらを一度ご覧いただいた方がいいかと思います。
本ページを最後に編集したときの環境・バージョンなど
プラグインは製作者によって日々更新されていくため、この紹介記事が最新バージョンのものであるとは限りません。参考までにこの記事の最終更新日時点におけるテスト環境、プラグインバージョン、プラグイン導入時の留意点などを記載しておきます。
プラグインを使用(試用)したテスト環境
この紹介記事作成にあたって、試用(テスト)を行った環境と当時のプラグインバージョンは以下の通りです
- テストサーバー:カラフルボックス
- WordPressのバージョン:6.4.3
- PHPのバージョン:8.2.16
- テーマ:Twenty Twenty Three(フォーク)
- プラグインのバージョン:本記事で紹介しているバージョン4.3.2/最新バージョン 4.4.4
- 公式サイト(wordpress.org上):https://wordpress.org/plugins/anspress-question-answer/
- 公式サイト(作者サイト):
本記事を参考にWordPressサイトへプラグインの導入を検討される方へ
WordPressは古くから無料で配布されているサイト作成ツール(CMS)で、随時改良が加えられており、さまざまなバージョンが存在します。
さらにWordPressを動かすためのプログラムであるPHP、サイトのデータを保存しておくためのデータベースについても様々なバージョンがあります。
そしてWordPress本体同様にプラグインについてもさまざまなバージョンが存在します。
本記事を参考にプラグインの導入をお考えの方は、以下に留意の上でインストールするようにしてください。
- テスト環境での動作に基づいた紹介記事ですので、すべての環境で正常に動作するかどうかは不明です
※本記事の内容についてはページ内に記載しているプラグインバージョンのものになります。現在のバージョンと異なる場合、機能や日本語対応の状況などが異なる場合があります。
※また、テスト環境、テストしたプラグインバージョン等の表示が本文内にない場合、ページタイトル下にある最終更新日当時の情報となりますので、現在のバージョンでは全く違う機能となっているかも知れません。 - プラグインに無料版と有料版(Pro版)がある場合、特に記載がなければ無料版の情報のみを紹介しています
- このページでプラグインを使用する際に必要なショートコードやコードなどは、コピーして使用することができますが、環境によっては記号などが文字化けすることがあります。コピーしたのに動作しない場合は特に「”」「’」などの記号を入力し直してみてください。
- プラグイン本体の動作不具合や質問などは公式サイトのフォーラムなどで行ってください(ここでは質問にお答えすることはできません)
【AnsPress – Question and answer】プラグインの設定画面や表示画面の日本語化と翻訳
当サイトで私が翻訳した【AnsPress – Question and answer】プラグインの日本語化ファイルを提供しています。翻訳ファイルについての詳しい説明は以下のページをご覧ください。
※翻訳することで設定が容易になり、重要な項目の設定漏れも少なくなりますから日本語化をお勧めします。
このプラグインはフロントエンド(ユーザーが見る画面)側のフレーズ(単語や文章)についても翻訳ファイルからの変更となっているため、日本語で使用するには翻訳ファイルが欠かせません。
【AnsPress – Question and answer】プラグインのインストールと設定方法
インストール方法
インストールはプラグインの新規追加でプラグイン名を入力して検索してインストールするか、WordPressのプラグイン公式配布ページからダウンロード後、管理画面からアップロードインストールしてください(プラグインの公式ページは本ページ内記載のリンクをクリック、もしくは、WordPress公式サイトで検索してください)。
WordPressを使い始めて間もない方(初心者の方)は、より詳細なプラグインのインストール手順や、インストール時に起こる問題などへの対処方法をまとめた【WordPress】プラグインのインストール&追加方法とエラー対処の方法も併せてご覧ください。
基本的な設定方法と使用方法
プラグインを有効化すると、必要な固定ページが自動で作成されます。固定ページ一覧で「Question」という名前の固定ページに紐づく子ページがそれにあたります。
これらはプラグイン設定画面でのページ設定と連動しており、すべての固定ページに同じ
[anspress]
というショートコードが入っています。ショートコードが入っているか否かとページ設定が正しいかとで同じショートコードでも動作するアクションが変わるようになっているようです。
その他の細かい設定については、冒頭で紹介したような機能に関するものですので、頑張って英語を解読するか、上記日本語化ファイルを入手&適用すれば簡単に設定できると思います。
プラグインを有効化すると基本的なページは自動作成されますのであとは管理画面側でいろいろな設定を行えば使えるようになります。
設定項目としては大まかには以下の通りです。
- 質問や回答の投稿に関する制限や設定
- ユーザーの権限と制限
- ユーザーや管理者へ通知されるメールの内容
- ポイントシステムを使う場合の点数設定
- ユーザー登録とログインの仕組みは別のプラグインなどを使って実装する必要があります。
- 「BuddyPress」プラグインとの連携ができるようですがテストはしていません。
【AnsPress – Question and answer】プラグインの便利な使い方・カスタマイズ方法など
このプラグインをより便利に使うカスタマイズ技、テストサイトで使用した結果や感想、WordPressのプラグイン公式配布ページには書かれていない情報、発見した不具合などを紹介します。
きちんと設定したはずなのに質問が送信できないときの確認事項と対処方法
プラグインの設定が済み、無事に質問フォームが表示された。でも・・質問を入力して「送信」ボタンをクリックしてもウンともスンとも動かない、そんな時の確認事項と対処方法を紹介しておきます。
このプラグインに限らず、フロントエンドから何かを投稿するプラグインではありがちな現象ですので、そうしたものを使われている場合の参考にもなると思います。
以下のフォーム(サンプル画像)をよく見てください。
上が正常時のもの、下が不具合発生時のものです。
よく見ると、上は内容を入力する画面にボタンがあり、下はないですね。
これが不具合の原因です。詳しくお話すれば、「tinymce」というエディタ用の装飾機能が動作していないということです。
この不具合が出る原因は大きく以下の2つです。
- 表示高速化・最適化などを行うプラグイン(Autoptimizeなどが有名)を導入しており、有効にしている
- テーマの機能に表示高速化・最適化といった機能があり、有効にしている
もしもそれらを使われているようでしたら、一度停止/無効化するなどして表示してみてください。解消されれば、上記の機能が不具合の原因です。
とはいえ、それらの機能を使いつつ、Anspressも使いたいところですから、その場合は「wp-tinymce-root」「wp-tinymce」というスクリプトに対して機能を除外する設定を行えば不具合は解消できます。除外設定の方法については、高速化機能を提供しているプラグインやテーマのマニュアルなどを参照してください。
基本的なフォーム要素以外を追加したり、変更したりするのは難しい・・かも
フォームを独自のものへ変更したり、独自のカスタムフィールドを追加したりということができるようなのですが、残念ながら私のスキルでは実装できませんでした。
一応作者の公式サイトに以下のような例が掲載されていますので、興味のある方はチャレンジしてみてください。
AnsPressフォームと検証API
独自フォームを作成する方法、基本的な独自カスタムフィールドを追加する方法について書かれています。指示通りにフォームの追加はできますが、フォームの保存はできませんでした。
AnsPress質問フォームにカスタムフィールドを追加する
既存のフォームへ独自のカスタムフィールドを追加し、質問の投稿時(送信ボタンをクリックした後)でそのカスタムフィールドを保存するというアクションをさせる方法が掲載されているのですが、フォームへのカスタムフィールドの挿入方法の記述も間違っていますし、カスタムフィールドの保存コードも間違っています(プラグイン内部でのみ動作するコードが適当にコピペされている感じです)。
また、公式サイトのフォーラムにはそれらについての質問がたくさんされているのですが、ほとんど回答されていませんし、あるはずの機能がなかったりといったものも散見されますので、参考にはならないと思われます(あくまでも個人の意見です)。
フロントエンドからそうしたアクションをさせるためのプログラム知識がないようでしたら、標準のままお使いいただくことをおすすめします。
【アドバイス】同じ機能を持つプラグインとの競合に注意しましょう
このプラグインのみ起こるということではありません。同じ機能を持つプラグインが多数WordPress公式ページでリリースされており、総じて言えることです。
サイトへユーザー(訪問者)が参加できるという良い機能なので、いろいろと試してから本格的にサイトへ導入したいところですが、プラグインが生成する質問コンテンツのカスタム投稿タイプ名などが重複すると競合して不具合が出ることがあります(実際にいくつかのプラグインで競合がありました)。
もしもいろいろとテストされる場合は、1つ試したら停止・削除して別のものをテストするという手順で進められるとよいでしょう。また、こうした追加コンテンツプラグインは、独自の投稿タイプやタクソノミー、カスタムフィールドなどを追加したり、データベース上にテーブルを作るものがほとんどです(そうしないと機能実装できないためです)。
しかしながら、プラグイン側はそうして追加したものに対して書き込んだデータは削除する機能があっても、削除して不具合が発生しないように環境は残すというものがほとんどですので、いきなり実サイト(本番サイト)へ導入しようとあれこれ導入すればするほどデータベースは汚れて(肥大化して)いきますので、まずはテストサイトを作って十分に動作確認をし、「これだ!」というものを本番サイトへ導入するようにしましょう。
このページの更新履歴
更新日 | 更新内容 |
---|---|
2015年12月21日 | 簡単にQ&Aが作れるプラグイン「AnsPress – Question and answer」の紹介記事を公開しました |
2020年 3月21日 | バージョン4.1.17対応の記事へ編集しました |
2021年 3月 9日 | バージョン4.1.20対応の記事へ編集しました |
2021年12月13日 | バージョン4.2.1対応の記事へ編集しました |