我注意到,当我在帖子中嵌入iframe然后保存更新时,iframe不会被保存。这似乎是一个安全特性,但我如何嵌入iframe呢?并将其设置为仅接受特定域的url源?
有什么想法吗?
我注意到,当我在帖子中嵌入iframe然后保存更新时,iframe不会被保存。这似乎是一个安全特性,但我如何嵌入iframe呢?并将其设置为仅接受特定域的url源?
有什么想法吗?
如果出于安全原因,框架被剥离,您不应该试图将嵌入代码直接放入帖子内容中,还有其他方法,例如oembed或Shortcode。
如果你有unfiltered_html
功能,您可以通过经典编辑器添加它们,但此功能非常危险。这也意味着任何不具备此功能的用户都将删除iFrame,就像任何自动化流程一样。
您可以将OEmbed与许多服务一起使用,并且有用于添加您自己的服务器的API。一些第三方充当中间人,为许多通常不支持OEmbed的地方添加支持,例如iframely
你甚至可以建立一个[iframe]
短代码
如果您使用的是经典编辑器,则可能是以没有unfiltered_html
能力。在常规站点上,管理员具有此功能;在多站点上,只有超级管理员才能这样做。
一个选择是给自己能力。例如,如果您是一名编辑:
<?php
/* Plugin Name: Allow Iframes */
// Update "editor" role when this plugin is updated
register_activation_hook( __FILE__, \'wpse_add_unfiltered_html\' );
function wpse_add_unfiltered_html() {
// Get whichever role you want to affect
$role = get_role(\'editor\');
// Give editors "unfiltered_html" capability
$role->add_cap(\'unfiltered_html\');
}
?>
另一种选择是使用块编辑器,这取决于要嵌入的iFrame类型。它允许您嵌入许多iFrame,如YouTube视频,而无需任何额外代码,这将适用于任何角色的用户。默认情况下,当在帖子/页面中放置另一个WP url时,它会将其嵌入,并生成一个blockquote和iframe代码,前端默认为:<iframe class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" ....></iframe> 它还会在JS控制台中产生错误XMLHttpRequest cannot load http://example.com/wp-content