Вы ищете способ добавить раздел поддержки / документации на своем сайте? Хотите узнать самый лучший способ добавить базу знаний wiki на ваш сайт WordPress? В сегодняшней статье мы покажем вам как создать базу знаний wiki в WordPress без плагинов.
![businesslearning[1]](https://wpincode.com/wp-content/uploads/2015/03/businesslearning1.jpg)
Мы пройдем этап за этапом воплощения задуманного.
Примечание: Прежде чем начать, пожалуйста, сделайте полную резервную копию вашего сайта WordPress.
Первым делом вам необходимо установить и активировать плагин Knowledgebase CPT. Этот простой плагин создает произвольный тип записи под названием knowledge_base и таксономию с именем section.
Это позволит вам легко добавлять свои wiki статьи и организовывать их в разделы.
![add-kb-articles[1]](https://wpincode.com/wp-content/uploads/2015/03/add-kb-articles1.png)
Как только вы создадите несколько статей и разделом, вам нужно будет вывести их на своем сайте. Именно здесь и придется повозится с кодом.
Начать следует с добавления сниппета кода в файл functions.php вашей темы или в плагин для сайта WordPress:
function devise_knowledgebase() {
// Получаем разделы базы знаний
$kb_sections = get_terms('section','orderby=name&hide_empty=0');
// Для каждого раздела базы знаний
foreach ($kb_sections as $section) :
$return .= '<div class="kb_section">';
// выводим название раздела
$return .= '<h4 class="kb-section-name"><a href="'. get_term_link( $section ) .'" title="'. $section->name .'" >'. $section->name .'</a></h4><ul class="kb-articles-list">';
// выводим записи в раздел
$kb_args = array(
'post_type' => 'knowledge_base',
'posts_per_page'=>-1,
'tax_query' => array(
array(
'taxonomy' => 'section',
'terms' => $section,
) ,
),
);
$the_query = new WP_Query( $kb_args );
if ( $the_query->have_posts() ) :
while ( $the_query->have_posts() ) : $the_query->the_post();
$return .= '<li class="kb-article-name">';
$return .= '<a href="'. get_permalink( $the_post->ID ) .'" rel="bookmark" title="'. get_the_title( $the_post->ID ) .'">'. get_the_title( $the_post->ID ) .'</a>';
$return .= '</li>';
endwhile;
wp_reset_postdata();
else :
$return .= '<p>No Articles Found</p>';
endif;
$return .= '</ul></div>';
endforeach;
return $return;
}
// Создаем шорткод
add_shortcode('knowledgebase', 'devise_knowledgebase');
Этот код выводит все статьи из базы знаний в тот раздел, в котором они добавлены.
Далее, все что вам понадобится сделать, это создать новую страницу в WordPress и добавить на нее шорткод [knowledgebase]. Сохраните свою страницу и перейдите на нее.
![kb-no-css[1]](https://wpincode.com/wp-content/uploads/2015/03/kb-no-css1.png)
Выглядит это всё не очень прилично на данный момент, но мы можем добавить немного стилей. Можете использовать нижеприведенный CSS в качестве стартовой точки и вносить изменения, которые будут сочетаться с общим стилем вашего сайта.
Вставьте следующий код в файл style.css вашей темы.
.kb_section {
float: left;
width: 280px;
max-width: 280px;
margin: 10px;
background-color: #f5f5f5;
border: 1px solid #eee;
}
h4.kb-section-name {
background-color: #eee;
margin: 0;
padding: 5px;
}
ul.kb-section-list {
list-style-type: none;
list-style: none;
display: inline;
}
li.kb-section-name {
list-style-type: none;
display: inline;
}
ul.kb-article-list {
list-style-type: none;
list-style: none;
}
li.kb-article-name {
list-style-type: none;
}
div.kb_section:nth-of-type(3n+1) {clear:left;}
div.kb_section:nth-of-type(3n+3) {}
Вот так будет выглядеть результат на стандартной теме Twenty Twelve.
![style-kb[1]](https://wpincode.com/wp-content/uploads/2015/03/style-kb1.png)
По-умолчанию, ваши разделы будут отображаться в алфавитном порядке. Однако, если захочется изменить порядок сортировки разделов, то осуществить это можно будет с помощью установки плагина Custom Taxonomy Order NE. Он позволит вам перетягивать ваши разделы в нужном порядке.
Вот и все, мы надеемся, что эта статья помогла вам добавить раздел базы знаний Wiki на свой сайт WordPress. Также мы рекомендуем вам ознакомиться с нашей статьей о том, как добавить Часто Задаваемые Вопросы – раздел FAQ в WordPress.
По всем вопросам и отзывам просьба писать в комментарии ниже.
Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.
