In WordPress versuche ich, ein YouTube-Video einzubetten und dann Links einzufügen, die zu bestimmten Zeiten in diesem Video springen. Wenn ich also zu 2:00 springen möchte, kann ich einen Link erstellen, der zu diesem Punkt im eingebetteten Video springt.
Ich habe vor ein paar Jahren eine ähnliche Frage gefunden, aber ich glaube, die YouTube-API hat sich geändert. Ich kann keine Plugins finden, die das können, also möchte ich es nach Möglichkeit selbst machen.
Anregungen?
Bearbeiten: Hier ist der Code, den ich mir bisher ausgedacht habe. Das einzige Problem ist jedoch, dass seekTo sehr lange zu dauern scheint, wenn das Video noch nicht abgespielt wurde. Ich bin mir nicht sicher, ob ich auf das onReady-Ereignis oder ein anderes reagieren soll.
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="https://stackoverflow.com/questions/42060604/javascript:void(0);" ' .
'onclick="var player = new YT.Player(\''.$id.'\', {events: {onReady: function () {player.seekTo('.$seconds.', true);}}});">'.
($content ?? $time) . '</a>';
}
Teilen Sie Ihr Code-Snippet
– Ashish Bahl
6. Februar 2017 um 5:06 Uhr
Ich habe ein Codebeispiel von dem, was ich versucht habe, hinzugefügt.
– devbanane
6. Februar 2017 um 7:01 Uhr