Ich verwende ein Theme namens gridby für WordPress, das ein eigenes Plugin verwendet, um das vorgestellte Bild zu einem iframe von vimeo oder youtube zu ändern, wenn das Feld fb_video einen Link im Posteditor enthält und zeigt das Videobild auf der Blog-Feed-Seite und den iFrame im Post anstelle des vorgestellten Bildes an. Ich habe es bisher nur für einen Vimeo-Link benutzt, der gut funktioniert und heute einfach versucht hat, einen Youtube-Video-Link mit/embed am Ende und ohne Fehler einzubauen. Es ist nicht mein Code, also will ich es nicht weiter bremsen, wenn jemand mir helfen kann großartig zu sein, da ich diese Funktionalität brauche. Ich habe den iframe in einen leeren Post im Editor eingefügt und das zeigt gut an, dass es nicht durch den PHP-Code angezeigt wird.Youtube einbetten und PHP iframe anzeigen, aber mit Anzeigefehler
/* ------------------------------------------------------------------------- *
* Video Functions
/* ------------------------------------------------------------------------- */
/* display url image big youtube and vimeo
/* ------------------------------------ */
if (!function_exists('video_image')) {
function video_image($url, $size){
$image_url = parse_url($url);
if($size == 'small') {
if($image_url['host'] == 'www.youtube.com' || $image_url['host'] == 'youtube.com'){
$array = explode("&", $image_url['query']);
return "http://img.youtube.com/vi/".substr($array[0], 2)."/1.jpg";
} else if($image_url['host'] == 'www.vimeo.com' || $image_url['host'] == 'vimeo.com'){
$hash = unserialize(file_get_contents("http://vimeo.com/api/v2/video/".substr($image_url['path'], 1).".php"));
return $hash[0]["thumbnail_small"];
}
} else if($size == 'hd') {
if($image_url['host'] == 'www.youtube.com' || $image_url['host'] == 'youtube.com'){
$array = explode("&", $image_url['query']);
return "http://img.youtube.com/vi/".substr($array[0], 2)."/hqdefault.jpg";
} else if($image_url['host'] == 'www.vimeo.com' || $image_url['host'] == 'vimeo.com'){
$hash = unserialize(file_get_contents("http://vimeo.com/api/v2/video/".substr($image_url['path'], 1).".php"));
return $hash[0]["thumbnail_large"];
}
}
}
}
/* display iframe of youtube and vimeo
/* ------------------------------------ */
if (!function_exists('video_player')) {
function video_player($url, $autoplay){
$image_url = parse_url($url);
if($autoplay == '1') {
if($image_url['host'] == 'www.youtube.com' || $image_url['host'] == 'youtube.com'){
$array = explode("&", $image_url['query']);
return "<iframe title='YouTube video player' width='400' height='275' src='http://www.youtube.com/embed/".substr($array[0], 2)."?wmode=trasparent&autoplay=1' frameborder='0' wmode='opaque' allowfullscreen></iframe>";
} else if($image_url['host'] == 'www.vimeo.com' || $image_url['host'] == 'vimeo.com'){
return "<iframe src='http://player.vimeo.com/video/".substr($image_url['path'], 1)."?autoplay=true' width='400' height='275' frameborder='0' allowfullscreen'></iframe>";
}
} else {
if($image_url['host'] == 'www.youtube.com' || $image_url['host'] == 'youtube.com'){
$array = explode("&", $image_url['query']);
return "<iframe title='YouTube video player' width='400' height='275' src='http://www.youtube.com/embed/".substr($array[0], 2)."?wmode=trasparent' frameborder='0' wmode='opaque' allowfullscreen></iframe>";
} else if($image_url['host'] == 'www.vimeo.com' || $image_url['host'] == 'vimeo.com'){
return "<iframe src='http://player.vimeo.com/video/".substr($image_url['path'], 1)."' width='400' height='275' frameborder='0' allowfullscreen'></iframe>";
}
}
}
}
/* ------------------------------------------------------------------------- *
* Filter Thumbnail
/* ------------------------------------------------------------------------- */
add_filter('post_thumbnail_html', 'post_thumbnail_html', 10, 3);
function post_thumbnail_html($html, $post_id, $post_image_id) {
$video = get_post_meta($post_id, 'fb_video', true);
if ($html) { /* If have thumbnail image set */
if ($video != '') {
if (is_single()){ /* Show playe on single page */
if(function_exists('video_player')) {
?>
<div class='video-container'><?php echo video_player($video, 0); ?></div>
<?php
}
} else {
echo '<i class="fa fa-play-circle fa-4x"></i>'. $html;
}
} else {
echo $html;
}
} else { /* If haven't thumbnail image set */
if ($video != '') {
if (is_single()){ /* Show playe on single page */
if(function_exists('video_player')) {
?>
<div class='video-container'><?php echo video_player($video, 0); ?></div>
<?php
}
} else {
echo '<i class="fa fa-play-circle fa-4x"></i><img class="img-res" src="'. video_image($video, 'hd').'" alt="' . esc_attr(get_post_field('post_title', $post_id)) . '" />';
}
}
}
}
?>