WidgetCoreمستندات WidgetCore

ویجت سوالات متداول

راهنمای کامل ویجت سوالات متداول WidgetCore؛ آیتم‌های پرسش و پاسخ، حالت آکاردئون یا آزاد، آیکون‌ها، سرعت انیمیشن، تگ عنوان، اسکیمای FAQPage و استایل‌دهی.

ویجت سوالات متداول یک آکاردئون دسترس‌پذیر است: هر پرسش یک دکمه داخل یک تگ عنوان دارد و پاسخ در یک ناحیه‌ی region قرار می‌گیرد که با aria-labelledby به همان دکمه وصل است. همراه ویجت، خروجی ساخت‌یافته‌ی FAQPage هم چاپ می‌شود.

موردمقدار
شناسه‌ی ویجتwgcr-faq
عنوان در پنلسوالات متداول - FAQ
دستهویجت‌های WidgetCore (wgcr)
استایل / اسکریپتwgcr-faq
کلاس ریشه.wgcr-faq

بخش «سوال‌ها»

تنها کنترل این بخش یک تکرارشونده (Repeater) به نام آیتم‌ها است که سه فیلد دارد:

فیلدنوعپیش‌فرضتوضیح
عنوان سوالمتن«عنوان سوال»همان متنی که روی دکمه دیده می‌شود و در اسکیمای Question.name می‌رود
پاسخویرایشگر (WYSIWYG)«متن پاسخ…»محتوای پاسخ؛ لینک و قالب‌بندی ساده مجاز است
باز بودن پیش‌فرضکلیدخیراگر روشن باشد، این آیتم از ابتدا باز است

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

بخش «تنظیمات رفتار»

کنترلنوعمقدارهاپیش‌فرض
حالت باز شدنانتخابیآکاردئون (فقط یک آیتم باز) / آزاد (چند آیتم هم‌زمان)آکاردئون
آیکونانتخابیپلاس / فلش (شورون) / سفارشی (کتابخانه المنتور)پلاس
آیکون سفارشیآیکوناز کتابخانه‌ی آیکون المنتور—
سرعت انیمیشن (میلی‌ثانیه)لغزنده100 تا 1000300

حالت آکاردئون: با باز شدن یک آیتم، آیتم باز قبلی بسته می‌شود. برای فهرست‌های طولانی و صفحه‌های موبایل مناسب‌تر است.

حالت آزاد: هر آیتم مستقل باز و بسته می‌شود و کاربر می‌تواند چند پاسخ را هم‌زمان باز نگه دارد؛ برای مقایسه‌ی چند پرسش بهتر است.

آیکون‌ها SVG درون‌خطی‌اند و با currentColor رنگ می‌گیرند، پس از کنترل‌های رنگ بخش «آیکون» پیروی می‌کنند. در حالت باز، آیکون پلاس 45 درجه و آیکون‌های فلش و سفارشی 180 درجه می‌چرخند؛ میزان چرخش آیکون سفارشی با کنترل «چرخش آیکون سفارشی در حالت باز (درجه)» قابل تنظیم است.

بخش «سئو و ساختار»

کنترلمقدارهاپیش‌فرضتوضیح
تگ عنوان سوالH2 / H3 (پیشنهادی) / H4 / DIVH3ساختار سرفصل صفحه را تعیین می‌کند
اسکیمای FAQ (JSON-LD)بله / خیربلهخروجی FAQPage برای موتورهای جستجو

شکل خروجی اسکیمای ساخت‌یافته

json
{
	"@context": "https://schema.org",
	"@type": "FAQPage",
	"mainEntity": [
		{
			"@type": "Question",
			"name": "دوره‌ها به چه صورت برگزار می‌شوند؟",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "همه دوره‌ها ویدیویی و آنلاین هستند…"
			}
		}
	]
}

خروجی با JSON_UNESCAPED_UNICODE چاپ می‌شود، یعنی متن فارسی به‌صورت خوانا در کد صفحه می‌ماند و به \uXXXX تبدیل نمی‌شود.

ساختار خروجی HTML

html
<div class="wgcr-faq" data-mode="accordion" data-speed="300">
	<div class="wgcr-faq-list">
		<div class="wgcr-faq-item open" data-icon="plus">
			<h3 class="wgcr-faq-qwrap">
				<button type="button" class="wgcr-faq-q" id="wgcr-faq-q-abc123-0"
					aria-expanded="true" aria-controls="wgcr-faq-a-abc123-0">
					<span class="wgcr-faq-qtext">عنوان سوال</span>
					<span class="wgcr-faq-ic"><svg viewBox="0 0 24 24" aria-hidden="true">…</svg></span>
				</button>
			</h3>
			<div class="wgcr-faq-a" role="region" id="wgcr-faq-a-abc123-0"
				aria-labelledby="wgcr-faq-q-abc123-0">
				<div class="wgcr-faq-atext">متن پاسخ…</div>
			</div>
		</div>
	</div>
</div>
کلاسنقش
.wgcr-faqریشه؛ data-mode و data-speed را نگه می‌دارد
.wgcr-faq-listشبکه‌ی آیتم‌ها با فاصله‌ی قابل تنظیم
.wgcr-faq-itemهر کارت؛ کلاس open وقتی آیتم باز است
.wgcr-faq-qwrapتگ عنوان (طبق کنترل «تگ عنوان سوال»)
.wgcr-faq-qدکمه‌ی پرسش؛ نقطه‌ی فوکوس کیبورد
.wgcr-faq-qtextمتن پرسش (از ویرایش درون‌خطی پشتیبانی می‌کند)
.wgcr-faq-icجعبه‌ی آیکون
.wgcr-faq-aناحیه‌ی پاسخ با role="region"
.wgcr-faq-atextمتن پاسخ

دسترس‌پذیری و کیبورد

کلیدرفتار
Enter یا Spaceباز و بسته کردن پرسش فوکوس‌شده
ArrowDownرفتن به پرسش بعدی
ArrowUpرفتن به پرسش قبلی
Homeاولین پرسش
Endآخرین پرسش
  • پاسخ‌های بسته‌شده از ترتیب Tab بیرون می‌مانند (با visibility: hidden)، پس کاربر با کیبورد داخل محتوای پنهان گیر نمی‌کند.
  • حلقه‌ی فوکوس فقط با :focus-visible دیده می‌شود تا کلیک با ماوس خط آبی نیاندازد.
  • اگر کاربر prefers-reduced-motion را فعال کرده باشد، انیمیشن حذف می‌شود و آیتم‌ها فوری باز و بسته می‌شوند.
  • ارتفاع هر پاسخ باز به‌صورت پویا محاسبه می‌شود و با تغییر اندازه‌ی پنجره دوباره اندازه‌گیری می‌شود؛ پس پاسخ‌های بلند کوتاه نمی‌شوند.
  • حرکت بین پرسش‌ها حلقه‌ای است: بعد از آخرین پرسش، ArrowDown به اولین پرسش می‌رود.

جزئیات بیشتر در صفحه‌های دسترس‌پذیری و میان‌برهای کیبورد.

بخش‌های استایل

طرح کلی

کنترلپیش‌فرضتوضیح
حداکثر عرض—عرض کل ویجت (در CSS داخلی 760px است)
تراز افقی ویجتوسطراست / وسط / چپ
فاصله بین کارت‌ها14pxفاصله‌ی عمودی آیتم‌ها

بدنه کارت

کنترلپیش‌فرضتوضیح
پس‌زمینهrgba(255,255,255,0.72)پس‌زمینه‌ی کارت‌ها
پس‌زمینه (باز)—فقط برای آیتم باز
رنگ کادر (باز)—حاشیه‌ی آیتم باز
میزان تاری شیشه‌ای12pxافکت backdrop-filter
گردی گوشه‌ها12pxشعاع کارت

عنوان

کنترلپیش‌فرض
پس‌زمینه ردیف عنوان—
رنگ متن#1F2937
پس‌زمینه ردیف عنوان (باز)—
رنگ متن (باز)—
رنگ متن (هاور)—
گردی گوشه‌های ردیف عنوان—
پدینگ20px 24px

کارت توضیحات

کنترلپیش‌فرض
پس‌زمینه—
رنگ متن#6B7280
پس‌زمینه (باز)—
رنگ متن (باز)—
گردی گوشه‌ها—
پدینگ0 24px 22px

آیکون

کنترلپیش‌فرض
فاصله از متن16px
اندازه باکس30px
اندازه آیکون16px
گردی باکس8px
چرخش آیکون سفارشی در حالت باز180deg
پس‌زمینه#EBF3FC
رنگ آیکون#2E86DE
پس‌زمینه (باز)#2E86DE
رنگ آیکون (باز)#ffffff

نمونه‌ی استایل سفارشی

اگر می‌خواهید ظاهر را بیرون از کنترل‌ها تغییر دهید، این قطعه در CSS سفارشی پوسته کافی است:

css
.wgcr-faq-item {
	border-radius: 16px;
	box-shadow: 0 2px 10px rgb(15 23 42 / 6%);
}
.wgcr-faq-item.open .wgcr-faq-qtext {
	color: #1d4ed8;
}
@media (prefers-reduced-motion: reduce) {
	.wgcr-faq-a { transition: none; }
}

فهرست کامل کنترل‌ها

همه‌ی کنترل‌های محتوایی ویجت به ترتیب بخش‌های پنل. کنترل‌های استایل در بخش‌های بالا فهرست شده‌اند.

شناسهبرچسب در پنلنوعپیش‌فرضشرط نمایش
itemsآیتم‌هاتکرارشوندهسه سوال نمونه—
questionعنوان سوالمتن«عنوان سوال»داخل هر آیتم
answerپاسخویرایشگر متن«متن پاسخ…»داخل هر آیتم
open_defaultباز بودن پیش‌فرضکلیدخیرداخل هر آیتم
modeحالت باز شدنانتخابیaccordion—
icon_typeآیکونانتخابیplus—
custom_iconآیکون سفارشیانتخاب آیکونfas fa-plusicon_type = custom
speedسرعت انیمیشن (میلی‌ثانیه)لغزنده 100 تا 1000300—
q_tagتگ عنوان سوالانتخابیh3—
schemaاسکیمای FAQ (JSON-LD)کلیدبله—

رفع مشکلات

نشانهعلتراه‌حل
آیتم‌ها باز نمی‌شونداسکریپت ویجت بارگذاری نشدهدر ابزار توسعه‌دهنده ببینید wgcr-faq بارگذاری شده یا نه؛ کش را خالی کنید
پاسخ خیلی طولانی کامل دیده نمی‌شوداسکریپت ویجت اجرا نشده و سقف CSS (max-height: 640px) اعمال می‌شودبا اجرا شدن اسکریپت، ارتفاع هر پاسخ به اندازه‌ی واقعی محتوایش تنظیم می‌شود؛ پس کش را خالی کنید
اسکیما در صفحه نیستکنترل «اسکیمای FAQ» خاموش است یا ویجت دوم استکنترل را روشن کنید یا ویجت را اول صفحه بگذارید
آیکون سفارشی نمی‌چرخدنوع آیکون روی «سفارشی» نیست«آیکون» را روی «سفارشی (کتابخانه المنتور)» بگذارید