پرش به مطلب اصلی

قطعه کدها برای نسخه ۲

قطعه کدهای WordPress معمولاً برای انجام کارهایی استفاده می‌شوند که در غیر این صورت نیاز به یک افزونه کوچک جداگانه داشتند. این قطعه کدها در یکی از فایل‌های اصلی WordPress یا قالب (معمولاً فایل functions.php قالب شما) قرار می‌گیرند یا می‌توانند به عنوان یک MU plugin استفاده شوند.

در این مقاله سه قطعه کد را به شما نشان می‌دهیم که می‌توانید با Ultimate Multisite v2 استفاده کنید:

تغییر موقعیت آیتم منوی حساب کاربری

برای تغییر موقعیت آیتم منوی حساب کاربری در داشبورد مشتریان، کافی است قطعه کد زیر را به فایل functions.php قالب فعال سایت اصلی خود اضافه کنید. همچنین می‌توانید این قطعه کد را در یکی از mu-plugin‌ها یا افزونه‌های سفارشی خود قرار دهید.

add_filter('wu_my_account_menu_position', function() { return 10; // این مقدار را تنظیم کنید تا منو در موقعیت دلخواه قرار گیرد.

چگونه بررسی کنیم که کاربر عضو یک پلن خاص است و/یا اشتراک فعال دارد

به عنوان مدیر شبکه، ممکن است نیاز داشته باشید توابع سفارشی بسازید که کارهای ساده‌ای انجام دهند یا یک سرویس/قابلیت را بر اساس وضعیت اشتراک و پلنی که کاربران عضو آن هستند، در اختیار گروه خاصی از مشترکین یا کاربران نهایی قرار دهند.

این توابع داخلی Ultimate Multisite در این کار به شما کمک می‌کنند.

برای بررسی اینکه کاربر عضو یک پلن خاص است، می‌توانید از این تابع استفاده کنید:

wu_has_plan($user_id, $plan_id)

برای بررسی فعال بودن اشتراک، می‌توانید از این تابع استفاده کنید:

wu_is_active_subscriber($user_id)

در زیر یک نمونه قطعه کد آمده که بررسی می‌کند آیا کاربر فعلی عضو یک پلن خاص (شناسه پلن ۵۰) است و آیا اشتراک کاربر فعال است یا خیر.

$user_id = get_current_user_id();$plan_id = 50;if (wu_has_plan($user_id, $plan_id) && wu_is_active_subscriber($user_id)) { // کاربر عضو پلن است و اشتراک او فعال است، کارهای مورد نظر را انجام دهید} else { // کاربر عضو پلن نیست -- یا -- اشتراک او فعال نیست، کارهای دیگر را انجام دهید} // end if;

توجه داشته باشید که wu_has_plan برای کارکرد صحیح به «شناسه پلن» نیاز دارد.

برای دریافت شناسه یک پلن، به Ultimate Multisite > Products بروید. شناسه هر محصول در سمت راست جدول نمایش داده می‌شود.

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

لیست محصولات با نمایش شناسه پلن‌ها

رفع مشکلات CORS با آیکون‌های فونتی در دامنه‌های مپ‌شده

رفع مشکلات CORS با آیکون‌های فونتی در دامنه‌های مپ‌شده

پس از مپ کردن یک دامنه به یک زیرسایت، ممکن است متوجه شوید که سایت در بارگذاری فونت‌های سفارشی مشکل دارد. این مشکل به دلیل مسدود شدن cross-origin در تنظیمات سرور شما ایجاد می‌شود.

از آنجا که فایل‌های فونت تقریباً همیشه مستقیماً از CSS بارگذاری می‌شوند، افزونه domain mapping ما قادر به بازنویسی URLها برای استفاده از دامنه مپ‌شده به جای دامنه اصلی نیست، بنابراین برای رفع این مشکل، باید فایل‌های پیکربندی سرور خود را اصلاح کنید.

در زیر قطعه کدهایی برای رفع این مشکل در Apache و NGINX آمده است. این تغییرات نیاز به دانش پیشرفته از فایل‌های پیکربندی سرور (فایل‌های .htaccess و فایل‌های تنظیمات NGINX) دارند. اگر در انجام این تغییرات راحت نیستید، این صفحه را هنگام درخواست کمک به تیم پشتیبانی هاست خود ارسال کنید.

Apache

در فایل .htaccess خود، این کد را اضافه کنید:

<FilesMatch ".(ttf|ttc|otf|eot|woff|font.css|css)$"> Header set Access-Control-Allow-Origin "*"

NGINX

در فایل پیکربندی سرور خود (مسیر آن از سروری به سرور دیگر متفاوت است)، این کد را اضافه کنید:

location ~ .(ttf|ttc|otf|eot|woff|font.css|css)$ { add_header Access-Control-Allow-Origin "*";}