اگر به دنبال افزودن یک پایگاه دانش به وبسایتتون هستین ما به شما نشون میدیم که چطور یک سایت Wiki با وردپرس بسازین.
سه را شناخته شده برای این کار وجود داره:
استفاده از پوسته ویکی
سادهترین راه برای استفاده از ویکی در سایت خود، استفاده پوسته knowledge base هست.
لطفا توجه داشته باشین که باید subdirectory روی سرورتون نصب باشه. مشکل اصلی این روش اینه که در صورتیکه از قبل یک سایت دارین، نمیتونین ازش استفاده کنین.
خیلی از وبسایتها، پایگاههای دانششون (knowledgebases) رو روی زیردامنهها دارن. این یک تمرین عادیه.
افزودن wiki knowledgebase با استفاده از پلاگین
اگر پوسته شما بهطور پیشفرض حاوی پایگاه دانش ویکی نیست، میتونین به راحتی اون رو با استفاده از یک پلاگین wiki knowledgebase درج کنین. میتونین چندین پلاگین موجود در وبسایت رسمی وردپرس پیدا کنین. توصیه میکنیم از Knowledge Base by PressApps one استفاده کنین.
تنها چیزی که لازمه، نصب پلاگین هست. این کار رو مطابق معمول در بخش Plugins > Installed Plugins > Add New در پنل مدیریتتون انجام بدین.
بعد از نصب، شما صفحه دانش رو در بخش مدیریت وردپرستون دارین. این ناحیه مجموعهای از پستهای سفارشیه که به شما امکان میده صفحه دانش خودتون رو سازماندهی کنین.
روش Code Snippet برای درج Wiki knowledgebase در وبسایت وردپرس
روش دیگر برای افزودن پایگاه دانش ویکی به وبسایت، ایجاد وبسایت اختصاصی با استفاده از روش کدنویسی هست.
این روش انعطافپذیرتر هست. اما به یاد داشته باشین که به دانش کدنویسی نیاز داره. دستورالعملهای گام به گام انجام این کار مطابق زیر هست:
- به صفحه Plugins > Add New در بخش مدیریت وردپرس برین. در قسمت جستوجو، Knowledge Base CPT رو وارد کنین. بعد از آپلود، اونها رو فعال کنین.
- بعد از فعالسازی پلاگین، نوعی پست سفارشی به نام knowlage_base خواهید داشت که در پنل مدیرتتون taxomony نامیده میشه.
- شما به راحتی میتونین مقالاتتون رو در پنل مدیریتتون در تب Knowledge Base اضافه و سازماندهی کنین.
- وقتی چندین مقاله آماده کردین، باید صفحه پایگاه دانش رو سازماندهی کنین.
- برای شروع این کار، snippet code زیر رو به فایل functions.php اضافه کنین:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
function my_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 ) .''; $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', 'my_knowledgebase'); |
- این کد، همه مقالات رو در قسمتی که به اون اضافه شدن، فهرست میکنه.
- مرحله بعد، ایجاد صفحه است. این روال معمول هست. این کار رو در قسمت Pages > Add New page در بخش مدیریتتون انجام بدین.
- از شورتکد زیر برای درج پستهای پایگاه دانشتون در صفحه [knowledgebase] استفاده کنین.
- صفحه رو ذخیره کنین و سایتتون رو بررسی کنین.
- میبینین که صفحه هیچ سبکی نداره. به راحتی میتونین اون رو در کد CSS مدیریت کنین. قانون زیر رو در قسمت Additional CSS در صفحه Appearance > Customizer در بخش مدیریتتون قرار بدین:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
.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;} |
- لطفا توجه داشته باشین کد CSS ممکنه برای پوسته مورد استفاده شما متفاوت باشه. هر پوسته دارای کلاسهای CSS اختصاصی هست.
امیدواریم این مقاله مفید بوده باشه. اگر به کمک بیشتری نیاز دارین میتونین آموزشهای ما رو بررسی کنین.