سلام به همه ی دوستان عزیز بیگ تمی. توی این مقاله، با یه آموزش خیلی کاربردی در خدمتتون هستم. بذارین با چند سوال شروع کنم؟ دوست دارین یه بخش مستندات به سایتتون اضافه کنین؟ یا میخواین یه دانشنامه ی آزاد توی سایت وردپرسیتون داشته باشین؟ توی این مقاله میخوایم این خواسته ها رو برآورده کنیم. پس با بیگ تم همراه باشین.

ساخت دانشنامه آزاد (ویکی) با وردپرس

خب اول از همه باید ببنیم چند راه برای انجام این کار وجود داره و بعد برحسب علاقه، یه راه رو انتخاب کنیم. برای ساخت یک دانشنامه آزاد با وردپرس، سه راه وجود دارد:

  1. استفاده از یک پوسته ی مخصوص ساخت دانشنامه
  2. استفاده از یک پلاگین مخصوص ساخت دانشنامه
  3. استفاده از کدنویسی (راهی که برای هر کاری وجود داره!)

خب هر کدوم از راه هایی که گفتم یه مزایا و یه معایبی دارن که موقعی توضیح دادن هر روش، متوجه میشین و میتونید مناسب ترین روش برای خودتون رو انتخاب کنین. خب آماده این؟ پس بزنید بریم!


1- استفاده از یک پوسته ی مخصوص ساخت دانشنامه

یکی از ساده ترین راه ها برای ساخت یم دانشنامه یا ویکی، استفاده از یک پوسته ی مخصوص اینکاره. خب پوسته های زیادی وجود داره، اما ما پوسته ی KnowHow رو پیشنهاد می کنیم که بهترین پوسته در زمینه ی دانشنامه هست. بهترین روش برای راه اندازی اینه که وردپرس رو در یک ساب دامین یا شاخه، مثلا به این صورت support.yoursite.com یا yoursite.com/knowledgebase نصب کنین. بعد از نصب و فعالسازی این پوسته، کار تمومه و شما یک دانشنامه دارین!

KnowHow Preview

مهم ترین عیب استفاده از پوسته ی دانشنامه اینه که شما نمی تونین این پوسته ها رو در سایت اصلی خودتون استفاده کنین، یعنی مجبورین اونا روی یک ساب دامین یا یک شاخه ی جداگانه نصب کنین. چرا؟ چون این پوسته ها با هویت اصلی سایت شما جور نیستن و شما هم قطعا نمیخواین صفحه ی اول سایتتون، به صورت یک دانشنامه باشه! با همه ی این تفاسیر سایت های زیادی، از این پوسته های دانشنامه ای روی ساب دامین خودشون استفاده می کنن.


2- استفاده از یک پلاگین مخصوص ساخت دانشنامه

Knowledge Base Pluginمیرسیم به روش دوم، یعنی موقعی که شما بخواین یه دانشنامه رو به همین سایتی که الان دارین اضافه کنین. خب ساده ترین راه، استفاده از یه پلاگین مخصوص این کاره. بازم چند پلاگین وجود داره، اما ما Knowledge Base by PressApps پیشنهاد می کنیم که دمو هم داره و بنابراین حسابی به انتخابتون کمک میکنه.

حالا باید این پلاگین رو نصب و فعال کنید. بعد از فعالسازی، یک تب به نام “Knowledge Base” به قسمت مدیریت وردپرستون اضافه میشه.

Knowledge Base Admin

این پلاگین، خودش نوشته و دسته بندی و برچسب داره (یعنی جدا از نوشته، دسته بندی و برچسب پیش فرض وردپرس) که به شما اجازه میده مستنداتتون رو سازمان یافته کنین. بهترین بخش این پلاگین، اینه که شما می تونین اونو به سایت اصلیتون اضافه کنین (برخلاف روش شماره 1) و با محتوای سایتتون هماهنگش کنین.این پلاگین، امکانات دیگه ای هم داره، مثلاً سیستم رای دهی مخصوص اعضا یا عموم، ابزارک های سفارشی، عمل کردن به صورت کشیدن و رها کردن (drag-drop). خب حالا عیبش چیه؟ عیبی نداره، فقط گرونه! (20 دلار)


3- استفاده از کدنویسی

رسیدیم به بخش ارزون، ولی یه کم پرزحمت تر. البته نگران نباشین، قرار نیست کوه جا به جا کنین، یه چند تا کپی، پیست سادس!! خب قبل از شروع، اول از سایت عزیزتون یه بک آپ بگیرین تا ادامه ی کار رو قدم به قدم براتون توضیح بدم.

1- اول پلاگین Knowledgebase CPT رو نصب و فعال کنین. لابد میپرسین این پلاگین چیکار می کنه؟ عرضم به حضورتون این پلاگین یه نوع نوشته ی سفارشی به نام knowledge_base و یه طبقه بندی به نام section ایجاد میکنه. (اگه یادتون باشه توی روش قبلی هم پلاگین، نوشته های و دسته های مخصوص به خودشو داشت) خب این کار باعث میشه که شما به راحتی بتونین مقالات دانشنامتون رو اضافه و رو دسته بندی کنین.

Adding knowledge base articles and sections

خب، حالا باید این مقالات و دسته بندی ها رو توی سایتمون نشون بدیم دیگه، اینجا باید بریم سراغ کد! برای شروع کد زیر رو در فایل  functions.php پوسته فعال سایتتون اضافه کنین. این کد، هر مقاله ای رو در دسته بندی ای که شما براش مشخص کردین، قرار می ده.

function wpb_knowledgebase() {
	// Get Knowledge Base Sections
	$kb_sections = get_terms('section','orderby=name&hide_empty=0');
	// For each knowledge base section
	foreach ($kb_sections as $section) :
	$return .= '<div class="kb_section">';
	// Display Section Name
	$return .= '<h4 class="kb-section-name"><a href="'. get_term_link( $section ) .'" title="'. $section->name .'" >'. $section->name .'</a></h4><ul class="kb-articles-list">';

	// Fetch posts in the section
	$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;
}
// Create shortcode
add_shortcode('knowledgebase', 'wpb_knowledgebase');

قدم بعدی اینه که یک برگه ی وردپرس بسازین و شورت کد [knowledgebase] رو توش قرار بدین. حالا این برگه رو ذخیره کنین و دکمه ی پیش نمایش رو بزنین.صفحه ی زیر رو خواهید دید:
Plain knowledge base section with no CSS
البته این صفحه خیلی ساده به نظر میرسه، اما پس CSS برا چی خلق شده؟ زیبا کردن! پس کد 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) {}

حالا صفحتون به شکل زیر درمیاد که البته به صورت چپ چین هست و در صورتی که قالبتون راست چین نیست، میتونید خودتون اینکار رو انجام بدین.
Styled knowledge base page in WordPress
دسته بنیدی هایی که درست کردین، به صورت پیش فرض، به صورت الفبایی مرتب و نمایش داده میشن. اما اگه بخواین ترتیب این بخش ها رو عوض کنین، می تونید پلاگین Custom Taxonomy Order NE رو نصب کنین که به شما این امکان رو میده با درگ-دراپ کردن، ترتیب بخش ها رو تغییر بدین.


خب اینم از آموزش امروز ، امیدوارم براتون مفید واقع شده باشه.


                                                             

یک نظر

  1. ناهید سادات ریاحی

    دوست خوبم، متاسفانه اسکریپت نمایش کدها الکی pre در ابتدا و انتهای کدها اضافه کرده بود که برداشتم. حالا می تونین به راحتی این کد رو اضافه کنین به انتهای فایل فانکشنتون.

  2. siavash

    وقتی اون کد را به انتهای functions اضافه میکنم کلا سایت دیگه بالا نمیاد
    خواهشا راهنمایی کنید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *