web-dev-qa-db-fra.com

Comment puis-je obtenir que mon iFrame fonctionne avec les URL de post_meta?

J'ai créé une méta-boîte personnalisée pour ajouter une URL à la publication, qui peut être affichée plus tard sur la page principale. Cette URL est insérée correctement dans ma base de données. Ensuite, je reçois l'URL dans mon code en:

<?php
 $get_video_url = get_post_meta(get_the_ID(), 'video_url', true);
 //echo $get_video_url;
 //When I echo the variable, it's giving me te correct URL back for each post
?>

Maintenant, j'essaie de faire fonctionner mon iFrame. Mais cela me donne cette erreur en console:
Refused to display 'https://www.youtube.com/watch?v=OVoXDk8ps10' in a frame because it set 'X-Frame-Options' to 'sameorigin'.

Ce que je sais, c'est que j'ai watch?v= dans l'URL lorsqu'il sort de la base de données et pour un iFrame, l'URL doit être avec embed comme: https://www.youtube.com/embed/OVoXDk8ps10

Question
Ma question est la suivante: comment puis-je modifier l’URL après l’avoir obtenue de la base de données et pouvoir obtenir que l’iFrame fonctionne sur le client?

J'utilise ce code pour essayer d'afficher mon iFrame:

<p style="text-align: center;"><iframe src="<?php echo $get_video_url; ?>" 
frameborder="0" allowfullscreen></iframe></p>
1
Stan

Presque chaque fois que je poste une question, je suis en mesure de trouver la solution sur Internet. Désolé les gars et les filles pour le spam!

Solution

<div class="featured-img-blog">

 <?php
  global $wp_embed;
  $get_video_url = get_post_meta(get_the_ID(), 'video_url', true);

  echo "<p align=center>" . $wp_embed->run_shortcode('[embed]' . $get_video_url . '[/embed]') . "</p>";
 ?>                               
</div>
1
Stan