WordPress идеально подходит и для создания различных FAQ-подобных баз знаний. Концепция базы знаний довольно проста: она основана на размечивании, рубрикации и добавлении записей произвольными людьми. Комментарии позволяют реализовать дискуссию вокруг какой-либо обозначенной посетителем проблемы. Если данная проблема разрешена, администратор переносит ее в базу знаний.
Ключевые возможности базы знаний:
1. Добавление пользовательских сообщений (с помощью плагина). Фактически представляют собой обычные записи.
2. Присутствие двух основных рубрик: FAQ и База знаний.
3. Разметка записей для ускорения поиска по ключевым словам.
4. Наличие произвольной таксономии меток у рубрики База Знаний.
Основные этапы использования сайта:
1. Посетитель отправляет возникшую проблему при помощи формы, размещенной на сайте. Проблема сохраняется в виде черновика записи.
2. Администратор публикует проблему в категории FAQ.
3. В дальнейшем проблема обрастает комментариями, которые могут оставлять как обычные посетители, так и администратор. В том случае если пользовательские комментарии выключены, необходимо предусмотреть вариант дальнейшего уточнения проблемы, возникшей у отправителя записи.
4. При решении проблемы администратор добавляет запись в рубрику «База знаний».
5. Все записи, содержащиеся в этой рубрике, получают надлежащую разметку в таксономии «Разметка Базы Знаний».
За основу таксономии «Разметка Базы Знаний» берутся те вопросы, которые уже нашли ответ, следовательно, пользователь может быстрее отыскать решение возникшей проблемы. Также таксономия включает разметку, позволяющую переходить к FAQ, то есть к нерешенным пока еще вопросам.
Добавление функциональности
Фактически дизайн темы будет довольно простым, поэтому мы будем рассматривать лишь самые важные его части.
Прежде всего, нам понадобится создать новую таксономию. Как это сделать, мы уже рассматривали в предыдущих главах. Необходимо добавить в файл functions.php дочерней темы следующий код:
add_action( 'init', 'kbase', 0 ); function kbase() { register_taxonomy( 'knowledge_base', 'post', array( 'hierarchical' => false, 'label' => 'Knowledge Base Tags', 'query_var' => true, 'rewrite' => true ) ); }
Таким образом, мы получим дополнительное поле для размечивания записей, находящихся в рубрике «База Знаний».
Теперь рассмотрим вопрос о получении пользовательской проблемы. Как уже было рассмотрено в предыдущем разделе, с поставленной задачей отлично справляется плагин TDO Mini Forms. Возможно, вам понадобится шаблон home.php для реализации подходящего представления записей, вывода последних добавленных в Базу Знаний решений проблем, а также ускорения процесса поиска решений. Не лишним было бы добавить широкое поле поиска или облако тегов, отображающее метки из таксономии «База Знаний». Последнее реализуется следующим образом:
<?php wp_tag_cloud('taxonomy=knowledge_base'); ?>
Таким образом, пользователь попытается сначала отыскать решение возникшей проблемы, и только потом, в случае ее отсутствия, отправит свой вопрос посредством формы.
Дальнейшие улучшения
Первое, что необходимо сделать в процессе дальнейшей разработки, это удостовериться в том, что пользователь понимает, каким образом работает сайт, что он вынужден сначала изучить уже существующие решения проблем до того как отправлять свой вопрос, иначе администратор попросту погрязнет в тонне дублирующих друг друга проблем. Чтобы такого не возникло, нужно обязательно разместить форму поиска. В том случае, если стандартная поисковая функциональность WordPress вас не устраивает, вы можете использовать различные внешние службы, такие как, к примеру, Google Custom Search Engine (google.com/cse).
Также дальнейшим улучшениям могут подвергнуться:
1. Регистрация и редактирование. Откройте для посетителей регистрацию на сайте: таким образом они смогут редактировать свои вопросы и получат в распоряжение пользовательские архивы. Указанный подход в несколько раз сократит размещение спама.
2. Классификация. Предоставьте пользователям мощный механизм по классификации комментариев и записей.
3. Связанные проблемы. Предложите пользователям изучить другие, связанные с данной, проблемы. Возможно, они найдут нужный ответ.
4. Расширение поисковых возможностей. С помощью javasript можно значительно расширить возможности поиска решений возникших проблем. В частности, можно сделать автоматическое предожение вариантов (к примеру, предложить вариант XYZ при наборе XPT).
5. Представление главной страницы. Главная страница выступает связующим звеном между пользователем и администратором, в результате чего она должна быть выверена на все 100%.
6. Подписка и уведомления. Предложите пользователям подписаться на ваш ресурс с целью отслеживания последних добавленных вопросов и решений проблем. Существует множество способов реализации этого действия, начиная с RSS фидов WordPress и заканчивая различными сторонними сервисами.