Как изменить миниатюру встроенного видео с YouTube?
Когда я встраиваю видео с YouTube на свою страницу, есть ли способ изменить отображаемую миниатюру (скриншот)? У меня нет доступа администратора к данному YouTube видео.
Я бы предпочел решение без использования плагинов, если это возможно. Я нашел эти инструкции, но они не сработали.

Шорткод [video]
может использоваться с параметром src
, содержащим URL-адрес видео с YouTube. Для установки изображения-заставки (превью) используйте параметр poster
, который также удобно настраивается через графический интерфейс. В итоге код должен выглядеть примерно как в примере ниже.
[video src="https://www.youtube.com/watch?v=XYZ" poster="http://example.com/wp-content/uploads/2017/01/example.jpg"]

Я реализовал это (страница здесь http://kabultec.org/blog/events/annual-afghan-womens-benefit-dinner-2017/). С этим я действительно заменил миниатюру, которая отображается перед воспроизведением видео. Но когда видео заканчивает проигрываться, оно показывает оригинальную начальную миниатюру — ту самую начальную миниатюру, которую я хочу скрыть (скриншот https://imgur.com/t8N1dPf). Есть идеи, как это исправить? Даже пустой черный экран был бы решением в данном случае. Мотивация для этого упражнения — заменить или скрыть эту конкретную миниатюру везде на сайте.

Удаление &rel=0
не помогло, и я не являюсь владельцем этого канала Youtube. О каком именно <div>
вы говорите? Я не могу найти элемент с классом ytp-cued-thumbnail-overlay
(или подобным).

Хорошо. Я искал в исходном коде ytp-cued-thumbnail
, но не смог его найти (скриншот: https://imgur.com/POsfj4r). Разве он не должен там отображаться? Или я что-то неправильно понимаю? Можете ли вы отправить мне скриншот, показывающий его присутствие? Дело не в том, что я вам не верю, но это может помочь мне понять, где я ошибаюсь.

OK. Этот класс добавляется на страницу при вставке YouTube, поэтому его не было на моей странице, так как я переключился на шорткод [video]
. Но это новое решение мне больше нравится — оставить вставку YouTube и изменить превью с помощью JavaScript. Я вернулся к вставке YouTube (http://kabultec.org/dev/blog/events/benefit-dinner-2016/), но у меня проблемы с выбором класса. В частности, при загрузке страницы document.getElementsByClassName("ytp-cued-thumbnail-overlay-image")[0];
возвращает undefined. Но после инспектирования элемента он возвращает нужный класс. Есть мысли?

OK. Давайте оставим этот вопрос открытым немного дольше, пока я не подтвержу, что это новое решение работоспособно. Я обновлю этот вопрос после завершения исследования.

Все ваши комментарии в этой ветке были удалены? У меня так отображается. В любом случае, похоже, что я не могу изменить этот конкретный класс с помощью серверного JavaScript-файла (см. здесь https://www.reddit.com/r/learnjavascript/comments/7l1cq0/cannot_target_class_unless_i_first_inspect/). Полагаю, я мог бы попытаться наложить отдельный JPG на этот элемент с помощью CSS, но это кажется довольно ненадежным. Если только вы не видите другого возможного решения/обходного пути, я склонен отметить ответ с [video]
как правильный.

@cag8f Просто убираю лишнее. У меня, честно говоря, нет другого решения. Лично я бы даже не стал заморачиваться с этим, если честно. Оно того не стоит.

Я не считал их лишними — мне казалось, они были частью здоровой и информативной дискуссии. Но что поделать. Я отмечу ваш ответ с [embed]
как правильный.

@cag8f Это просто не так работает система здесь, это не открытый форум. Я бы оставил обсуждение — или даже дал другой ответ — если бы в нём содержалось проверенное дополнительное решение. Но его не было, по крайней мере с моей стороны. А так как комментарии рано или поздно всё равно удаляются, я предпочитаю убрать их сам, чем позволять это делать другим.

Посмотрите это, возможно, это поможет.
<div class="video-responsive"><iframe src="https://www.youtube-nocookie.com/embed/1Cz2Xzm6knM/videoseries?list=PLq-1Cz2Xzm6knM-1Cz2Xzm6knM&rel=0" width="420" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></div>
.video-responsive{
overflow:hidden;
padding-bottom:56.25%;
position:relative;
height:0;
}
.video-responsive iframe{
left:0;
top:0;
height:100%;
width:100%;
position:absolute;
}
