Par défaut, lorsqu’un autre WP url est inséré dans un article/une page, il est intégré et produit un code blockquote et iframe avec le code par défaut au début:
<iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted" ....></iframe>
Il génère également une erreur dans la console JS XMLHttpRequest cannot load http://example.com/wp-content/themes/themename/js/test.js. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.
, ce qui laisse supposer qu’elle bloque l’exécution de certains scripts.
Quel est le meilleur filtre à utiliser pour modifier l’iframe produite dans le système frontal, par exemple, nous voulons qu’il ait l'attribut allow-same-Origin
pour sandbox
<iframe class="wp-embedded-content" sandbox="allow-scripts allow-same-Origin" security="restricted" ....></iframe>
J'ai pu résoudre le problème CORS en utilisant cet extrait qui permet maintenant à cet iFrame de allow-same-Origin
ou d'exécuter des scripts dans ce domaine.
function oembed_iframe_overrides($html, $url, $attr) {
if ( strpos( $html, "<iframe" ) !== false ) {
return str_replace('<iframe class="wp-embedded-content" sandbox="allow-scripts allow-same-Origin"', '<iframe class="wp-embedded-content" sandbox', $html); }
else {
return $html;
}
}
add_filter( 'embed_oembed_html', 'oembed_iframe_overrides', 10, 3);