J'ai cette iframe
et JavaScript incorporés dans un post:
<iframe onload="fa_iframeresize.do(this);" src="https://example.com/calc.php?tp=dif&cl=beleggen&h=1&wf=19370&country=NL" scrolling="no" width="100%" style="padding:0px;margin:0px;border-width:0px;" frameborder="0">
</iframe>
<script type="text/javascript" src="//example.com/iframeResizeMe.min.js.gz"></script>
Mais chaque fois que je vais dans l'éditeur visuel, le code HTML est légèrement modifié de telle sorte que le code de example.com ne peut plus le gérer:
<iframe style="padding: 0px; margin: 0px; border-width: 0px;" src="https://example.com/calc.php?tp=dif&cl=beleggen&h=1&wf=19370&country=NL" width="100%" frameborder="0" scrolling="no">
</iframe>
<script type="text/javascript" src="//example.com/iframeResizeMe.min.js.gz"></script>
Existe-t-il un moyen d'empêcher l'éditeur visuel de modifier un bloc HTML?
J'ai essayé l'extension iframe mais cela ne l'a pas vraiment traitée correctement. J'aimerais aussi éviter de créer mon propre plugin pour cela.
Idéalement, j'aimerais par exemple <!-- NOREFORMAT --><iframe></iframe><script></script><!-- /NOREFORMAT -->
.
add_shortcode('custom_iframe_shortcode', 'build_iframe');
function build_iframe($atts) {
$defaults = array(
'source' => 'https://example.com/calc.php?tp=dif&cl=beleggen&h=1&wf=19370&country=NL',
'script_source' => '//example.com/iframeResizeMe.min.js.gz'
);
$args = shortcode_atts($defaults, $atts);
ob_start(); ?>
<iframe onload="fa_iframeresize.do(this);" src="<?php echo $args['source']; ?>" scrolling="no" width="100%" style="padding:0px;margin:0px;border-width:0px;" frameborder="0">
</iframe>
<script type="text/javascript" src="<?php echo $args['script_source']; ?>"></script>
<?php return ob_get_clean();
}
puis appelez ceci comme [build_iframe]
ou [build_iframe source="https://blah" script_source="https://blah/blah.js']