Quiero agregar un video a mi sitio con un marcado correcto. Para incrustar el video estoy usando el ACF oEmbed campo.
Ahora quiero agregar el marcado correcto como nombre, URL, descripción, etc. Como en el código de ejemplo a continuación:
"video": {
"@type": "VideoObject",
"name": "How to make a Party Coffee Cake",
"description": "This is how you make a Party Coffee Cake.",
"thumbnailUrl": [
"https://example.com/photos/1x1/photo.jpg",
"https://example.com/photos/4x3/photo.jpg",
"https://example.com/photos/16x9/photo.jpg"
],
"contentUrl": "http://www.example.com/video123.mp4",
"embedUrl": "http://www.example.com/videoplayer?video=123",
"uploadDate": "2018-02-05T08:00:00+08:00",
"duration": "PT1M33S",
}
Ya encontré una solución para el thumbnailUrl
y el embedUrl
.
Para conseguir eso, estoy usando el siguiente código:
<?php
preg_match('/src="(.+?)"/', $recipe_video, $matches_url );
$src = $matches_url[1];
preg_match('/embed(.*?)?feature/', $src, $matches_id );
$id = $matches_id[1];
$id = str_replace( str_split( '?/' ), '', $id );
?>
Después de eso, podría usarlo así:
<meta itemprop="thumbnail" content="http://img.youtube.com/vi/<?php echo $id; ?>/mqdefault.jpg">
<meta itemprop="embedUrl" content="<?php echo $src; ?>">
Desafortunadamente, no pude encontrar ninguna solución para los otros campos.
¿Hay alguna forma de extraer esa información del objeto oEmbed? O tengo que agregarlo manualmente?
.