قبلاً در مقاله “نمایش فایل ویدیوی در وردپرس بدون افزونه” روش های درج ویدیو در وردپرس را بدون افزونه بررسی کردیم .
اگر دقت کرده باشید بعد از درج یک ویدیو در وردپرس رسپانسیو یا تعاملی بودن بخش مربوط به ویدیو صحیح نیست و در دستگاه های مختلف به صورت صحیح در کنار یا بین سایر محتوا نمایش داده نمی شود ( البته استثنایی که وجود دارد این است که برخی پوسته های حرفه ای روی این قسمت نیز کار کرده اند و آن را به نحو خوب پیاده سازی کرده اند) .
برای اضافه کردن ویدیو به نوشته یا برگه وردپرس از کدکوتاه یا shortcode ویدیو به شکل زیر استفاده می کنیم :
[video mp4="video.mp4" webm="video.webm" autoplay="on" preload="auto"]
این کد کوتاه باعث ایجاد تگ های HTML زیر در مرورگر کاربر خواهند شد :
شما می توانید از کد CSS زیر برای تکمیل رسپانسیو بودن ویدیوهای وردپرس استفاده کنید :
.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 بالا اینکار را انجام نداد ، می توانید از کد جاوااسکریپ زیر نیز در فوتر قالب خود استفاده کنید :
$(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();
});
امیدواریم این مقاله به رسپانسیو شدن ویدیوهای وردپرسی شما کمک کرده باشد .







سلام
این کدها رو دقیقا کجا کپی کنم؟
کد جاوااسکریپت رو باید توی فوتر قالبتون قرار بدین و کدهای css رو در فایل rtl.css یا style.css قرار بدین
قالب من رسپانسیو هستش، نیازی به اضافه کردن این کدها هست ؟
در حالت پیش فرض ممکنه کاملاً رسپانسیو نشه ویدیو
شما با حالت معمولی تست بگیرید اگر مشکل داشت از کدهای این آموزش استفاده کنید