В Wordpress я пытаюсь встроить видео YouTube, а затем включить ссылки, которые переходят на определенное время в этом видео. Поэтому, если я хочу перейти к 2:00, я могу создать ссылку, которая переходит к этой точке встроенного видео.С встроенным видео на YouTube, создайте ссылку, которая перейдет на конкретное время
Я нашел аналогичный вопрос несколько лет назад, но считаю, что API YouTube изменился. Я не могу найти никаких плагинов, которые могут это сделать, поэтому захотите сделать это самостоятельно, если это возможно.
Предложения?
Редактировать: Вот код, который я придумал до сих пор. Однако единственная проблема заключается в том, что если видео еще не было воспроизведено, то seekTo, похоже, занимает много времени. Я не уверен, должен ли я отвечать на событие onReady или другое.
add_action('wp_enqueue_scripts', 'register_yt_frameapi');
function register_yt_frameapi() {
wp_register_script('frameapi', 'https://www.youtube.com/iframe_api', array(), '1.0.0', true);
}
add_shortcode('ytlink', 'ytlink');
function ytlink($atts, $content = null)
{
wp_enqueue_script('frameapi');
$id = $atts['id'];
$time = $atts['time'];
$timeParts = explode(':', $time);
$seconds = 0;
for ($i = 0; count($timeParts); $i++)
{
$seconds += array_pop($timeParts) * 60 * $i;
}
return '<a href="javascript:void(0);" ' .
'onclick="var player = new YT.Player(\''.$id.'\', {events: {onReady: function() {player.seekTo('.$seconds.', true);}}});">'.
($content ?? $time) . '</a>';
}
доля фрагмент кода –
я добавил пример кода, что я пробовал. – devbanana