Je cherche à intégrer des vidéos de sites Web n'offrant pas de support Oembed. J'ai écrit du code mais ça ne marche pas.
exemple de lien:
https://openload.co/f/onU1gT5mkJ8/A_date_with_Lazar_Angelov.mp4
exemple embarqué:
<iframe src="https://openload.co/embed/onU1gT5mkJ8/A_date_with_Lazar_Angelov.mp4" scrolling="no" frameborder="0" width="700" height="430" allowfullscreen="true" webkitallowfullscreen="true" mozallowfullscreen="true"></iframe>
mon code:
add_action( 'init', function()
{
wp_embed_register_handler(
'openload',
'#https://www\.openload\.co/f/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)?#i',
'wp_embed_handler_openload'
);
} );
function wp_embed_handler_openload( $matches, $attr, $url, $rawattr )
{
$embed = sprintf(
'<iframe class="openload-video" src="https://openload.co/embed/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)" scrolling="no" frameborder="0" width="700" height="430" allowfullscreen="true" webkitallowfullscreen="true" mozallowfullscreen="true">></iframe>',
esc_attr( $matches[1] )
);
return apply_filters( 'embed_openload', $embed, $matches, $attr, $url, $rawattr );
}
J'ai vraiment collé à cela. J'apprécierais beaucoup les conseils ou les liens vers des informations susceptibles de vous aider. Merci!
Je suis presque sûr que vous essayez d'utiliser le motif regex dans votre appel sprintf
, alors que vous devriez utiliser ... eh bien, un format sprintf
:
$embed = sprintf(
'<iframe class="openload-video" src="https://openload.co/embed/%s" scrolling="no" frameborder="0" width="700" height="430" allowfullscreen="true" webkitallowfullscreen="true" mozallowfullscreen="true">></iframe>',
esc_attr(
$matches[1]
)
);
Notez que vous n'utilisez pas www
dans votre URL d'intégration:
https://openload.co/f/onU1gT5mkJ8/A_date_with_Lazar_Angelov.mp4
comme prévu dans votre modèle:
#https://www\.openload\.co/f/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)?#i