این راهنما یک مرجع سریع برای شروع کار با قالب XPay است.
⚡ نکات کلیدی
✅ معماری MVC (جدید - نسخه 2.0)
قالب از معماری MVC مشابه Laravel استفاده میکند:
- Controllers: منطق و دادهها - در
app/Controllers/ - Views: نمایش HTML - در
views/ - Routes: مسیریابی - در
routes.php
🎯 نحوه افزودن Template جدید
1. فایل Root بسازید
// faq.php در root تم
<?php
/*
Template Name: faq
*/
// این فایل فقط برای شناسایی WordPress است
2. متد Controller اضافه کنید
// در app/Controllers/PageController.php
public function faq()
{
$data = ['title' => get_the_title()];
$this->render('pages.faq', $data);
}
3. View بسازید
// views/pages/faq.php
<h1><?php echo esc_html($title); ?></h1>
4. Route ثبت کنید
// routes.php
Template::register('faq', PageController::class, 'faq', 'pages.faq');
📖 راهنمای کامل افزودن Template
📋 چکلیست تست Template جدید
- فایل root با
Template Nameدرست ساخته شد - متد در Controller با extends از
Controllerنوشته شد - View در مسیر صحیح قرار دارد
- Route در
routes.phpثبت شده - صفحه در وردپرس با template صحیح ذخیره شده
- صفحه بدون خطا نمایش داده میشود
🎨 RankMath SEO (خودکار)
تنظیمات خودکار
این موارد بدون نیاز به تغییر در پنل Rank Math انجام میشود:
- نام “کوینها” → “خرید ارز دیجیتال” در Schema Breadcrumb
- Canonical URL در صفحات صفحهبندی شده نویسنده
- noindex, nofollow برای Author/News/Analysis archives
- H3 → span در بلوکهای FAQ
🐛 عیبیابی سریع
صفحه سفید (White Screen)
1. بررسی: Template Name با route یکسان است؟
2. بررسی: فایل view وجود دارد؟
3. فعال کردن Debug: WP_DEBUG = true در wp-config.php
4. بررسی: wp-content/debug.log
محتوا تکرار میشود
این مشکل در نسخه 2.0 حل شده است.
اگر هنوز وجود دارد:
- اطمینان حاصل کنید Controller از BaseController extend میکند
- متد render() را از $this->render() فراخوانی کنید
View پیدا نمیشود
خطا: "View not found: pages.faq"
راهحل:
1. بررسی مسیر: views/pages/faq.php
2. بررسی نام در routes.php: 'pages.faq' (dot notation)
3. بررسی پسوند: فایل باید .php داشته باشد
� ساختار کنترلرها
Controllers موجود:
PageController (12 صفحه):
- home, help, calculator, contact, terms, wheel, referrals, job, levels, bug, app, about
ArchiveController (5 نوع):
- coin, blog, news, analysis, category
SingleController (4 نوع):
- coin, blog, news, post
🔍 دیباگ Routes
برای دیدن routes ثبت شده:
// موقتاً در functions.php
add_action('wp_footer', function() {
if (current_user_can('administrator')) {
echo '<pre>';
print_r(\XPayMain\Core\Template::getRoutes());
echo '</pre>';
}
});
📞 کجا کمک بگیریم؟
- 🎓 راهنمای توسعهدهندگان - افزودن template جدید
- 🏗️ معماری MVC - درک ساختار
- 🔧 Migration Guide - رفع مشکلات
- 📖 RankMath Configuration - تنظیمات SEO
- 🏠 README اصلی - اطلاعات کلی
نسخه: 2.0.0
آخرین بروزرسانی: نوامبر 2025