WordPress Gutenberg嵌入块无响应

时间:2019-03-23 作者:Riley Cook

我正在为客户的网站构建一个自定义主题,并希望允许他们在帖子中使用嵌入内容(Youtube视频、Facebook帖子、Twitter提要等)。通常,我会严格限制古腾堡编辑器中可用的块类型,所以这是我第一次允许嵌入块,现在我完全不知道如何处理它们。

嵌入式iFrame均不对窗口大小调整或移动设备做出响应。相反,它们会溢出页面,扰乱页面布局。我认为这与内联维度的声明有关。然而,我已经确定在每个块的设置中,“为较小的设备调整大小”的状态是:“当浏览器调整大小时,此嵌入将保留其纵横比。”我还向函数中添加了以下代码。php:

function site_features() {
  ...
  ...
  add_theme_support( \'responsive-embeds\' );
}
add_action(\'after_setup_theme\', \'site_features\');
我搜索了多个论坛、博客网站和其他地方,没有找到任何人有这个确切的问题。我找到的任何解决方案都是过时的,实际上并不能解决我面临的问题。例如,我发现以下代码可以强制iframes响应:

.wp-block-embed {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 35px;
  height: 0;
  overflow: hidden;
}

.wp-block-embed iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
但这并不理想,因为我必须手动更新css中每个块的纵横比。有人能解释一下这个问题吗?

2 个回复
SO网友:rudtek

可能是您的主题尚未声明支持响应式嵌入。尝试将此代码添加到函数中。php

// Add support for responsive embedded content.
add_theme_support( \'responsive-embeds\' );
或者您的主题设置文件(如果有)。

SO网友:Reberg

如果您还没有,请添加body_class(); 主题正文标记

<body <?php body_class(); ?>>

相关推荐

YouTube IFRAME嵌入不断从页面上消失

我正在尝试在我的主页上嵌入视频。我从YouTube添加嵌入代码,并将其粘贴到gutenberg编辑器上的自定义html博客中。我点击更新并查看我的网站,视频就在那里。我刷新页面,视频就会消失。我转到页面编辑器,视频的嵌入代码已被删除。有人能告诉我为什么会这样吗?我曾尝试在网上进行研究,但这是5年前的文章,回复不起作用。谢谢