Как создать базу знаний Wiki с помощью WordPress

Вы ищете способ добавить раздел поддержки / документации на своем сайте? Хотите узнать самый лучший способ добавить базу знаний wiki на ваш сайт WordPress? В сегодняшней статье мы покажем вам как создать базу знаний wiki в WordPress без плагинов.

businesslearning[1]

Мы пройдем этап за этапом воплощения задуманного.

Примечание: Прежде чем начать, пожалуйста, сделайте полную резервную копию вашего сайта WordPress.

Первым делом вам необходимо установить и активировать плагин Knowledgebase CPT. Этот простой плагин создает произвольный тип записи под названием knowledge_base и таксономию с именем section.

Это позволит вам легко добавлять свои wiki статьи и организовывать их в разделы.

add-kb-articles[1]

Как только вы создадите несколько статей и разделом, вам нужно будет вывести их на своем сайте. Именно здесь и придется повозится с кодом.

Начать следует с добавления сниппета кода в файл 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]

Выглядит это всё не очень прилично на данный момент, но мы можем добавить немного стилей. Можете использовать нижеприведенный 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]

По-умолчанию, ваши разделы будут отображаться в алфавитном порядке. Однако, если захочется изменить порядок сортировки разделов, то осуществить это можно будет с помощью установки плагина Custom Taxonomy Order NE. Он позволит вам перетягивать ваши разделы в нужном порядке.

Вот и все, мы надеемся, что эта статья помогла вам добавить раздел базы знаний Wiki на свой сайт WordPress. Также мы рекомендуем вам ознакомиться с нашей статьей о том, как добавить Часто Задаваемые Вопросы – раздел FAQ в WordPress.

По всем вопросам и отзывам просьба писать в комментарии ниже.

Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.

VN:F [1.9.22_1171]
Rating: 5.0/5 (2 votes cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
Scroll To Top