Как предотвратить изменения iframe в визуальном редакторе?
18 сент. 2018 г., 16:12:05
Просмотры: 303
Голосов: 2
У меня есть этот iframe
и JavaScript, встроенные в запись:
<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>
Но когда я перехожу в визуальный редактор, HTML немного изменяется таким образом, что код example.com больше не может его обработать:
<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>
Есть ли способ предотвратить изменения блока HTML в визуальном редакторе?
Я пробовал расширение для iframe, но оно не справилось с задачей должным образом. Я также хотел бы избежать создания собственного плагина для этого.
В идеале мне хотелось бы что-то вроде <!-- NOREFORMAT --><iframe></iframe><script></script><!-- /NOREFORMAT -->
.

the
1.54K
Комментарии
Все ответы на вопрос
1
0
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();
}
затем вызывайте этот шорткод так: [build_iframe]
или [build_iframe source="https://blah" script_source="https://blah/blah.js"]

mrben522
1.68K
17 дек. 2018 г. 18:58:15
Похожие вопросы
2
ответов
2
ответов