قبلاً در مقاله “نمایش فایل ویدیوی در وردپرس بدون افزونه” روش های درج ویدیو در وردپرس را بدون افزونه بررسی کردیم .
اگر دقت کرده باشید بعد از درج یک ویدیو در وردپرس رسپانسیو یا تعاملی بودن بخش مربوط به ویدیو صحیح نیست و در دستگاه های مختلف به صورت صحیح در کنار یا بین سایر محتوا نمایش داده نمی شود ( البته استثنایی که وجود دارد این است که برخی پوسته های حرفه ای روی این قسمت نیز کار کرده اند و آن را به نحو خوب پیاده سازی کرده اند) .
برای اضافه کردن ویدیو به نوشته یا برگه وردپرس از کدکوتاه یا shortcode ویدیو به شکل زیر استفاده می کنیم :
[video mp4="video.mp4" webm="video.webm" autoplay="on" preload="auto"]
این کد کوتاه باعث ایجاد تگ های HTML زیر در مرورگر کاربر خواهند شد :
|
1 2 3 4 5 6 7 8 9 10 |
<div class="video"> <div style="width: 640px; height: 360px; " class="wp-video"> <!--[if lt IE 9]><script>document.createElement('video');</script><![endif]--> <video class="wp-video-shortcode" id="video-4-1" width="640" height="360" autoplay="on" preload="auto" controls="controls"> <source type="video/mp4" src="video.mp4?_=1" /> <source type="video/webm" src="video.webm?_=1" /> <a href="video.mp4">video.mp4</a> </video> </div> </div> |
شما می توانید از کد CSS زیر برای تکمیل رسپانسیو بودن ویدیوهای وردپرس استفاده کنید :
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
.wp-video, video.wp-video-shortcode, .mejs-container, .mejs-overlay.load { width: 100% !important; height: 100% !important; } .wp-video, video.wp-video-shortcode { max-width: 100% !important; } video.wp-video-shortcode { position: relative; } .mejs-mediaelement { position: absolute; top: 0; right: 0; bottom: 0; left: 0; } .mejs-controls { display: none; } .mejs-overlay-play { top: 0; right: 0; bottom: 0; left: 0; width: auto !important; height: auto !important; } |
معمولاً و در اکثر موارد کد CSS بالا برای تصحیح رسپانسیو ویدیوهای وردپرس کافی می باشد ، اما چنانچه به هر دلیلی کد CSS بالا اینکار را انجام نداد ، می توانید از کد جاوااسکریپ زیر نیز در فوتر قالب خود استفاده کنید :
|
1 2 3 4 5 6 7 8 9 10 11 12 |
$(function() { $('.mejs-overlay-loading').closest('.mejs-overlay').addClass('load'); //just a helper class var $video = $('div.video video'); var vidWidth = $video.attr('width'); var vidHeight = $video.attr('height'); $(window).resize(function() { var targetWidth = $(this).width(); //using window width here will proportion the video to be full screen; adjust as needed $('div.video, div.video .mejs-container').css('height', Math.ceil(vidHeight * (targetWidth / vidWidth))); }).resize(); }); |
امیدواریم این مقاله به رسپانسیو شدن ویدیوهای وردپرسی شما کمک کرده باشد .

برچسب:
نویسنده: محمد رضا جوادیان