اسکریپت پرسش و پاسخ Question2Answer یک از بهترین ها برای راه اندازی انجمن، تالار گفتگو و مکانی برای پرسش و پاسخ های سایت شماست. کد نویسی استاندارد، به روزرسانی منظم از دیگر ویژگی های این اسکریپت حرفه ای است. Question2Answer و WordPress از جداول جداگانه در پایگاه داده MySQL استفاده خواهند کرد.

Question2Answer از نسخه 1.4 به بعد یکپارچه سازی با وردپرس و پایگاه داده را ارائه می دهد. برای نصب Question2Answer به عنوان بخشی از سایت وردپرس خود، لطفا دستورالعمل های زیر را دنبال کنید:

اتصال question2answer به وردپرس ( آموزش نصب و راه اندازی Question2Answer )

ابتدا آخرین نسخه از Question2answer را دانلود کنید (همچنین این اسکریپت در Github موجود است).

qa-config-example.php را در پوشه انزیپ شده Question2Answer پیدا کنید و آنها را به qa-config.php تغییر نام دهید.

فایل qa-config.php در یک ویرایشگر متن باز کنید و کد زیر را به خط 41 فایل qa-config.php اضافه کنید:

define('QA_WORDPRESS_INTEGRATE_PATH', '/PATH/TO/WORDPRESS/');

دقت کنید باید مسیر سایت خود را به جای PATH/WORDPRESS جایگزاری کنید. (شما باید مسیر کامل Question2answer به دایرکتوری وردپرس بر روی سرور خود، جایی که فایل wp-load.php در وردپرس قرار دارد را اضافه کنید.)

شما لازم نیست جزئیات پایگاه داده MySQL خود را در qa-config.php تنظیم کنید زیرا این به طور خودکار از وردپرس فراخوانی می شود. Q2A و WordPress هر کدام جداگانه از جداول پایگاه داده MySQL استفاده خواهند کرد.

تمام محتویات Question2Answer را در محل مناسب در وب سرور خود آپ کنید. برای اینکار یک فایل با نام مثلا qa در زیر شاخه از سایت خود (به عنوان مثال http://www.mysite.com/qa/) در داخل دایرکتوری در کنار بقیه فایل های وردپرس ایجاد کنید.

اطمینان حاصل کنید که کوکی ها و تغییرات وردپرس سازگار با Question2Answer هستند، که به شرح زیر است:

اگر Question2Answer در یک زیر شاخه سایت وردپرس شما باشد (به عنوان مثال http://www.mysite.com/qa/ تحت http://www.mysite.com/) هیچ کاری نباید انجام شود.

اگر Question2Answer در همان دامنه باشد (به عنوان مثال http://www.mysite.com/qa/ و http://www.mysite.com/blog/)، باید کد زیر را در ابتدا فایل WP-Config.php اضافه کنید:

define('COOKIEPATH', '/');

اگر Question2Answer در زیر دامنه دیگری از سایت وردپرسی شما باشد (e.g. http://qa.mysite.com/ و http://blog.mysite.com/) قضیه کمی پیچیده تر می شود:

خطوط زیر را در اول فایل WP-Config.php وردپرس اضافه کنید، عبارت ** MySite.com ** را با دامنه خود جایگزین کنید:

define('COOKIEPATH', '/');
define('COOKIE_DOMAIN', **'.mysite.com'**);

خطوط زیر را در انتهای فایل WP-Config.php وردپرس اضافه کنید، عبارت ** qa.mysite.com ** را با دامنه خود جایگزین کنید:

/* To allow redirection from WordPress login to Question2Answer */ add_filter('allowed_redirect_hosts', 'qa_wordpress_redirect_hosts'); functionqa_wordpress_redirect_hosts($content) { $content[] = **'qa.mysite.com'**; return $content; }

ادرس صفحه فروم خود را در مرورگر باز کنید، به عنوان مثال:

اگر شما Question2Answer را در یک زیر شاخه نصب کردید، http://www.mysite.com/qa/

اگر شما Question2Answer را در ساب دامنه نصب کردید، http://qa.mysite.com/

شما هم اکنون می توانید قالب سایت وردپرس خود را با Question2Answer ادغام کرده اید مراحل نصب انرا پیش روید.

پایان 😉


اموزش های بیشتر از اسکریپت Question2Answer

قرار دادن بخش جستجو در هر موقعیت

این کار نسبتا آسان است. شما می توانید از ویجت هر نقطه پلاگین استفاده کنید و سپس کد جستجو را به آن منتقل کنید.

کد نوار جستجو خود را با بررسی عنصر جستجو در مرورگر خود کپی کنید و کل آن را کپی کنید. به عنوان مثال، جستجو برای این سایت عبارتند از:

<div class="qa-search">
<form method="GET" action="../search">
<input type="text" name="q" value="" class="qa-search-field">
<input type="submit" value="Search" class="qa-search-button">
</form>
</div>

چگونه کپی رایت Question2answer را ویرایش کنیم؟

در پوشه qa-include به فایل qa-theme-base.php بروید و ویرایش کنید. برای جستجوی عبارت Question2answer از کلیدهای ctrl+f استفاده کنید و متن و URL را تغییر دهید.

حذف جعبه جستجو از سایدبار؟

  1. ویرایش فایل QA-Theme / snowflat / qa-theme.php
  2. این تابع را به فایل اضافه کنید (قبل از آخرین براکت فایل):
public function search() {}

اضافه کردن فاو ایکون

برای اینکار از کد زیر در بخش تنظیمات قسمت:( HTML سفارشی در بخشی <head> تمام صفحات) استفاده کنید:

<link rel="shortcut icon" type="image/png" href="/favicon.png"/>

نمایش rss و اخرین پرسش ها در خارج از اسکریپت

برای نمایش اخرین پرسش های مطرح شده در خارج از اسکریپت مثلا نمایش در سایت وردپرسی میتوانید یکی از کدهای زیر را استفاده نمائید.( هر دو قطعه کد یک کار را انجام میدهند )

<?php
$rss = new DOMDocument();
$rss->load('https://site.com/forum/?qa=feed/qa.rss/');
$feed = array();
foreach ($rss->getElementsByTagName('item') as $node) {
$item = array ( 
'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
);
array_push($feed, $item);
}
$limit = 5;
for($x=0;$x<$limit;$x++) {
$title = str_replace(' & ', ' &amp; ', $feed[$x]['title']);
$link = $feed[$x]['link'];
echo '<p><strong><a href="'.$link.'" title="'.$title.'">'.$title.'</a></strong><br />';
}
?>
<?php include_once(ABSPATH.WPINC.'/feed.php');
  $rss = fetch_feed('https://site.com/forum/?qa=feed/qa.rss/');
  $maxitems = $rss->get_item_quantity(12);
  $rss_items = $rss->get_items(0, $maxitems);?>
<?php if ($maxitems == 0) echo '<li>مطلبی یافت نشد!</li>'; else foreach ( $rss_items as $item ) : ?>
<a href="https://site.com/forum/?qa=questions" target="_blank"><?php echo $item->get_title(); ?></a>
<?php endforeach; ?>

به جای site.com از دامنه خود استفاده نمائید.

بیشتر: creating a Question2Answer theme

آموزش نصب و ادغام Question2Answer با وردپرس در وب فارسی برای اولین بار توسط دیجیتال 98 منتشر می شود، لطفا سوالات خود را در بخش نظرات مطرح نمائید.