Elinweb Lightweight Player for Aparat
Elinweb Lightweight Player for Aparat
Description
الینوب: آپارات بهینه شده کمک میکند ویدئوهای آپارات را بدون بارگذاری زودهنگام پلیر در سایتت نمایش بدهی. ابتدا فقط پوستر و یک آیکون پخش دایرهای نمایش داده میشود؛ دریافت و پخش ویدئو با کلیک کاربر شروع میشود.
لینک ویدئو را در بلوک گوتنبرگ یا ویجت المنتور وارد کن؛ افزونه پوستر را آماده میکند و در رسانههای وردپرس ذخیره میکند. شورتکد و توابع PHP هم در دسترساند.
لینک باید به یکی از این دو شکل باشد:
- https://www.aparat.com/embed/ytf50k5 — قالب جدیدتر و پیشنهادی
- https://www.aparat.com/v/ytf50k5
بهجای ytf50k5 شناسهٔ ویدئوی خودت را قرار بده.
امکانات افزونه
- پلیر سبک مرورگر با پخش از اولین کلیک؛ بدون بارگذاری iframe و اسکریپت پلیر آپارات در حالت پیشفرض.
- دریافت و ذخیرهٔ پوستر در رسانههای وردپرس و تبدیل به WebP، در صورت پشتیبانی سرور.
- بلوک گوتنبرگ، ویجت المنتور، شورتکد و امکان نمایش با کد PHP.
- تنظیم پوستر دلخواه، نسبت تصویر، زمان شروع و پخش اولیهٔ بیصدا.
- اولویت بارگذاری پوستر برای ویدئوهای بالای صفحه.
- امکان انتخاب پلیر رسمی آپارات، با بارگذاری بعد از کلیک.
- استثناهای لازم برای Delay JavaScript در WP Rocket و Perfmatters.
- رابط فارسی و کنترلهای قابل استفاده با کیبورد.
جدید در نسخهٔ ۲.۱.۰: فصلبندی ویدئو
برای بخشهای مختلف ویدئو، عنوان و زمان بنویس. کاربر با کلیک روی هر فصل، ویدئو را از همان زمان تماشا میکند. اگر ویدئو در حال پخش باشد، همان پلیر به زمان انتخابشده میرود.
در فیلد «فصلهای ویدئو» در گوتنبرگ یا المنتور، هر فصل را در یک خط وارد کن:
00:05 > سلام و احوالپرسی
00:40 > نصب برنامه
01:20 > تنظیمات اولیه
زمان را میتوانی به ثانیه، دقیقه:ثانیه یا ساعت:دقیقه:ثانیه بنویسی. اعداد فارسی و عربی هم پشتیبانی میشوند. فصلها بر اساس زمان مرتب میشوند و تا ۱۰۰ فصل قابل نمایش است. فیلد المنتور از Dynamic Tags هم پشتیبانی میکند.
فصلبندی در گوتنبرگ، المنتور، شورتکد و PHP در دسترس است. این قابلیت مخصوص پلیر مرورگر است؛ در حالت پلیر رسمی آپارات، فهرست فصلها نمایش داده نمیشود. عنوان و زمان فصلها را خودت وارد میکنی؛ افزونه آنها را خودکار از محتوای ویدئو استخراج نمیکند.
جدید در نسخهٔ ۲.۱.۰: استفاده در قالب و کد PHP
برای نمایش ویدئو در قالب یا صفحاتی که با کد ساخته شدهاند، نیازی به شورتکد یا صفحهساز نیست:
do_action('lwpa_display', 'https://www.aparat.com/embed/ytf50k5');
تابع lwpa_display() خروجی را چاپ میکند و lwpa_render() رشتهٔ HTML را برمیگرداند. فیلترهای lwpa_render_args و lwpa_render_html هم برای تغییر تنظیمات و خروجی در دسترساند. قالب باید wp_head() و wp_footer() را اجرا کند.
نمونههای کامل در فایل docs/developer-guide-fa.md و گیتهاب افزونه قرار دارند.
آمادهسازی پوستر هنگام ویرایش، ذخیره یا در پسزمینه انجام میشود؛ رندر عمومی صفحه برای دریافت اطلاعات ویدئو منتظر پاسخ آپارات نمیماند. پخش ویدئو به دسترسی سرور و مرورگر به API و CDN آپارات وابسته است.
این افزونه مستقل است و وابستگی رسمی به آپارات یا المنتور ندارد.
نویسنده: Iman Shadmehri — الینوب
External services
افزونه از سرویس آپارات برای دریافت اطلاعات عمومی، پوستر و فایل ویدئو استفاده میکند.
هنگام ویرایش، ذخیره، آمادهسازی پوستر در پسزمینه یا درخواست پخش، سرور شناسهٔ ویدئو را به https://www.aparat.com/etc/api/video/videohash/{identifier} میفرستد. آپارات IP سرور و اطلاعات معمول درخواست HTTP را دریافت میکند. پوستر از میزبانهای معتبر آپارات دانلود و در سایت ذخیره میشود.
بعد از کلیک روی پخش، مرورگر بازدیدکننده فایل ویدئو را از CDN آپارات دریافت میکند؛ این سرویس IP بازدیدکننده و اطلاعات معمول درخواست مرورگر را میبیند. آدرس فایل ویدئو فقط برای مدت کوتاهی در سرور کش میشود و در HTML مقاله ذخیره نمیشود. در حالت پلیر رسمی، iframe آپارات بعد از کلیک بارگذاری میشود و درخواستها، کوکیها و آمار آن تحت کنترل آپارات است.
به حساب آپارات یا کلید API نیاز نیست. افزونه اطلاعات ورود وردپرس یا محتوای خصوصی مقالهها را ارسال نمیکند و ابزار جمعآوری آمار اختصاصی ندارد.
Installation
- افزونه را از مخزن وردپرس نصب کن یا فایل ZIP را از «افزونهها افزودن افزونه بارگذاری افزونه» نصب و فعال کن.
- بلوک گوتنبرگ یا ویجت المنتور «آپارات بهینه شده» را اضافه کن و لینک ویدئو را وارد کن.
- در صورت نیاز، پوستر، زمان شروع و فصلهای ویدئو را تنظیم کن و صفحه را ذخیره کن.
- برای آمادهسازی پوستر در پسزمینه، WP-Cron باید کار کند. بعد از بهروزرسانی، کش صفحه و CDN را پاک کن.
Screenshots
Faq
[lwpa_aparat url=”https://www.aparat.com/embed/ytf50k5″ start_time=”65″ muted=”true”]
برای فصلبندی، پارامتر chapters هم قابل استفاده است؛ نمونهٔ چندخطی در راهنمای توسعهدهندگان آمده است.
در پلیر پیشفرض، درخواست پخش از همان کلیک اول انجام میشود. اگر مرورگر پخش با صدا را محدود کند، افزونه پخش بیصدا را امتحان میکند. پلیر رسمی آپارات ممکن است به کلیک دیگری داخل خودش نیاز داشته باشد.
اگر برای درخواستهای AJAX یا REST کش جداگانه داری، اکشن lwpa_aparat_stream در /wp-admin/admin-ajax.php و مسیر /wp-json/lightweight-player/v1/stream/* را از کش خارج کن. پاسخهای پخش هدر Cache-Control: no-store دارند و فایل ویدئو مستقیم از CDN آپارات دریافت میشود.
Reviews
Changelog
2.1.0
- افزودن فصلبندی ویدئو در بلوک گوتنبرگ، ویجت المنتور، شورتکد و PHP.
- افزودن فهرست قابل استفاده با کیبورد؛ انتخاب فصل، ویدئو را از زمان همان بخش پخش میکند.
- پشتیبانی از زمان به ثانیه، دقیقه:ثانیه و ساعت:دقیقه:ثانیه، اعداد فارسی و عربی، مرتبسازی و حذف زمانهای تکراری.
- پشتیبانی از Dynamic Tags برای فیلد فصلهای ویدئو در المنتور.
- تغییر زمان پخش بدون ساخت دوبارهٔ پلیر فعال؛ حفظ فصل انتخابی هنگام بارگذاری، مسیر جایگزین و تلاش مجدد.
- افزودن تابع
lwpa_display()و اکشنlwpa_displayبرای استفاده در قالب و صفحات تولیدشده با کد. - افزودن فیلترهای
lwpa_render_argsوlwpa_render_htmlبرای تغییر تنظیمات و خروجی مشترک. - افزودن راهنمای فارسی توسعهدهندگان، توضیحات فارسی مخزن و اسکرینشات فصلبندی ویدئو.
2.0.5
- انتخاب نام و شناسهٔ مستقل برای مخزن، با حفظ سازگاری بلوکها، ویجتها و شورتکدهای ذخیرهشده.
- بارگذاری CSS کوچک پلیر از طریق API استایل وردپرس، بدون درخواست فایل CSS جداگانه.
2.0.4
- اصلاح لینکهای افزونه و نویسنده برای ثبت در مخزن وردپرس.
2.0.3
- رفع مشکلات سازگاری پوستر و ترجمهٔ فارسی با وردپرس ۶.۳.
- بررسی سازگاری با نسخههای قدیمیتر وردپرس و PHP، با المنتور و بدون آن.
2.0.2
- سادهسازی راهنما و توضیح لینکهای /embed/ و /v/ و پشتیبانی از گوتنبرگ و المنتور.
- بهبود اعتبارسنجی تنظیمات پخش و محدودکردن انتقال درخواست به CDN معتبر آپارات.
- تکمیل توضیحات پخش عمومی و پاکسازی بستهٔ انتشار.



