Normalement, j'intègre des vidéos en écrivant directement l'URL dans le code WP intégré [embed]. J'aime: [embed]https://www.youtube.com/watch?v=p_o4aY7xkXg[/embed]
Mais maintenant, je veux que cette vidéo s'ouvre automatiquement avec des sous-titres en turc, quelles que soient les préférences de l'utilisateur. Comment faire ça?
J'ai essayé de les ajouter à l'URL, mais aucun d'entre eux n'a fonctionné:
Par exemple, pour les vidéos TED, j'y parviens en ajoutant "/ lang/tr /" à l'URL, comme ceci:
[embed]https://www.ted.com/talks/lang/tr/ken_robinson_says_schools_kill_creativity.html[/embed]
Une solution similaire pour Youtube? Ou d'autres suggestions?
Mise à jour: Je mets le code iframe directement dans la section "Texte" de l'éditeur Post. Ça marche. Exemple:
<iframe src="https://www.youtube.com/embed/1a8pI65emDE?rel=0&cc_load_policy=1&hl=tr" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe>
Cela ne fonctionne pas si vous le mettez dans l'éditeur visuel. Un peu déroutant pour les non-développeurs.
Le problème, c’est que le point final oembed ne semble prendre en charge que les paramètres par défaut .
Il semble donc que tout ce que vous pouvez faire est d’analyser la réponse et d’ajouter vos paramètres à la variable iframe
src
. Cela devrait le faire (non testé)
function wpse_218836_add_youtube_parameter( $return, $data, $url ){
if ( $data->provider_name === 'YouTube'){
$additional_parameters = '&cc_load_policy=1&hl=tr';
return preg_replace('/src="(.*?)"/i', 'src="$1' . $additional_parameters . '"', $return);
}else{
return $return;
}
}
add_filter('oembed_dataparse', 'wpse_218836_add_youtube_parameter', 10, 3);