قرار دادن پلیر امن در وردپرس
آموزش قدمبهقدم نمایش ویدیوهای قفلشدهی XAPlayer داخل برگهها و نوشتههای وردپرس با یک شورتکد ساده؛ فقط برای کاربران واردشده.
همهی راهنماها
شروع
شروع سریع: اولین دورهی قفلشده در ۱۰ دقیقهامنیت ویدیو: رمزگذاری، واترمارک و آنچه هیچ پلیری نمیتواندنصب روی سایت شما
قرار دادن پلیر امن در وردپرسفروش دورهی ویدیویی با ووکامرس و پلیر امنپلیر امن XAPlayer در مودلپلیر امن XAPlayer در لاراولپلیر امن XAPlayer با Node.js و Expressپلیر امن XAPlayer در Next.jsپلیر امن XAPlayer با پایتون: جنگو و فلسکسایت HTML، سایتساز یا بدون سروربرای فروشندهها
بارگذاری ویدیو و قفلگذاری خودکارصدور لایسنس، محدودیت دستگاه و صدور گروهیجلوگیری از دانلود ویدیو با IDM: راهنمای کامل برای مدرسهاقفلگذاری ویدیو در وردپرس و ووکامرسبرای دانشجوها
راهنمای دانشجو: تماشای دوره با کد لایسنسپلتفرمها: اندروید، آیفون، ویندوز، مک و لینوکستماشای دوره در اندرویدتماشای دوره در آیفون و آیپدتماشای دوره در ویندوز، مک و لینوکسبرای برنامهنویسها
مرجع API: قرار دادن پلیر امن در هر سایتدر این آموزش یک شورتکد [xaplayer] به سایت وردپرسیتان اضافه میکنید. هر جا آن را بنویسید، دانشجوی واردشده دوره را داخل همان صفحه با نام خودش روی تصویر میبیند و به کد لایسنس نیازی ندارد.
پیش از شروع#
- در پنل XAPlayer به «تنظیمات» بروید و در بخش «کلید API» یک کلید بسازید. کلید فقط یک بار نمایش داده میشود؛ همان لحظه کپیاش کنید.
- در «سایتهای مجاز برای نمایش پلیر» نشانی کامل سایتتان را اضافه کنید، مثلاً https://academy.example.com. اگر سایت با www هم باز میشود، آن را هم اضافه کنید.
- شناسهی دوره را بردارید: در «تنظیمات»، بخش «راهنمای نمایش پلیر در سایت شما» دوره را انتخاب کنید تا شناسهاش در نمونهکد نوشته شود. همان بخش آخر نشانی صفحهی دوره در پنل هم هست.
کلید را در wp-config.php بگذارید#
فایل: wp-config.phpدر پوشهی اصلی وردپرس، کنار wp-load.php
// wp-config.php: above the line "That's all, stop editing!"
define('XAPLAYER_API', 'https://xaplayer.ir/api/v1');
define('XAPLAYER_API_KEY', 'xap_sk_...'); // from Settings in your XAPlayer panel
شورتکد را اضافه کنید#
این کد را در functions.php پوستهی فرزند بگذارید، یا با افزونهای مثل Code Snippets اضافه کنید تا با بهروزرسانی پوسته پاک نشود.
فایل: wp-content/themes/your-child-theme/functions.php
<?php
// Shortcodes: [xaplayer course="COURSE_ID"] or [xaplayer video="VIDEO_ID"]
add_shortcode('xaplayer', function ($atts) {
$atts = shortcode_atts(['course' => '', 'video' => ''], $atts, 'xaplayer');
if (!is_user_logged_in()) {
return '<p>برای تماشای این درس وارد حساب خود شوید.</p>';
}
$user = wp_get_current_user();
$body = [
'viewer' => ['id' => (string) $user->ID, 'name' => $user->display_name],
'ttlSeconds' => 4 * HOUR_IN_SECONDS,
];
$phone = get_user_meta($user->ID, 'billing_phone', true);
if ($phone) {
$body['viewer']['phone'] = $phone; // shown on the video instead of the name
}
if ($atts['video'] !== '') {
$body['videoId'] = $atts['video'];
} else {
$body['courseId'] = $atts['course'];
}
$res = wp_remote_post(XAPLAYER_API . '/embed-tokens', [
'timeout' => 10,
'headers' => [
'Authorization' => 'Bearer ' . XAPLAYER_API_KEY,
'Content-Type' => 'application/json',
],
'body' => wp_json_encode($body),
]);
if (is_wp_error($res) || wp_remote_retrieve_response_code($res) !== 200) {
return '<p>پلیر بارگذاری نشد. صفحه را دوباره باز کنید.</p>';
}
$url = json_decode(wp_remote_retrieve_body($res), true)['url'] ?? '';
return sprintf(
'<iframe src="%s" allow="fullscreen" style="width:100%%;aspect-ratio:16/9;border:0;border-radius:12px"></iframe>',
esc_url($url)
);
});
در صفحهی درس استفاده کنید#
- برگه یا نوشتهی درس را در ویرایشگر باز کنید.
- یک بلوک «کد کوتاه» اضافه کنید و بنویسید: [xaplayer course="شناسهی دوره"]. برای فقط یک جلسه: [xaplayer video="شناسهی ویدیو"].
- صفحه را منتشر کنید و با یک حساب دانشجو باز کنید.
این شورتکد به هر کاربر واردشده پلیر را نشان میدهد. اگر فقط خریداران باید ببینند، صفحه را با افزونهی عضویت محدود کنید یا از آموزش ووکامرس استفاده کنید.
اگر کار نکرد#
| نشانه | علت و راهحل |
|---|---|
| جای پلیر خالی است یا مرورگر میگوید «اجازهی اتصال ندارد» | نشانی سایت در «سایتهای مجاز» نیست یا با www/بدون www فرق دارد. نشانی دقیق صفحه را اضافه کنید. |
| خطای ۴۰۱ (unauthorized) | کلید API اشتباه است یا کلید تازهای ساختهاید و کلید قبلی از کار افتاده. کلید را دوباره کپی کنید. |
| خطای ۴۰۴ (not_found) | شناسهی دوره یا ویدیو اشتباه است یا متعلق به حساب دیگری است. |
| خطای ۴۰۰ (bad_request) | بدنهی درخواست ناقص است: دقیقاً یکی از courseId یا videoId را بفرستید و viewer.id را خالی نگذارید. |
| پلیر بعد از چند ساعت «زمان صفحه تمام شده» میگوید | توکن منقضی شده. هر بار که صفحه باز میشود توکن تازه بگیرید و نشانی پلیر را کش نکنید. |
XAPlayer را ۱۴ روز رایگان، با ۱۰ لایسنس هدیه امتحان کنید.
دورهی خود را رایگان امتحان کنید