如何在Gutenberg WordPress中创建自定义嵌入块

时间:2019-02-14 作者:Thami Bn

谁能帮帮我吗。

如何在WordPress中创建自定义嵌入块(Gutenberg块),块应询问用户要嵌入的视频的URL和一些选项,如自动播放,用户单击嵌入按钮后,应在块上显示视频。

我已经创建了一个插件和一个基本块,允许用户在上面输入内容并在前端显示。现在我想自定义我的块以允许视频嵌入。

3 个回复
SO网友:HU ist Sebastian

这是。。。没有什么可以用几句话来回答的。我会尽力帮忙的。

1.:让自己熟悉构建块的方式,尤其是使用节点和网页包。我在这里找到了一个很好的教程:https://css-tricks.com/learning-gutenberg-1-series-intro/

2.:写下要使用的嵌入URL之外的其他控件类型。为此使用InspectorControl(块的侧栏)

3.:查看wordpress是如何做到这一点的。您可以在此处找到本机嵌入块的源代码:https://github.com/WordPress/gutenberg/tree/master/packages/block-library/src/embed

4.:如果有一个块插件可以做类似的事情,但不完全符合您的需要,请查看它们是否在github上。这些插件中的大多数都会在那里上传源(预编译)文件。即使您无法复制/粘贴代码,也可以找到如何执行特定操作的信息。

5.:尽量从小处做起,比如;输入url,然后显示视频“;,然后为特征添加特征。在wordpress中进行测试,并查看浏览器控制台窗口中的错误。

6.:这是not 黑魔法。两个月前,我开始对REACT和Wordpress Javascript库一无所知,现在几乎每天都在构建自定义块。

快乐的编码!

SO网友:oct13

在“对象”中;“属性”;节添加此声明,我将我的视频URL命名为:

videoURL: {
            type: \'string\',
            source: \'attribute\',
            selector: \'iframe\',
            attribute: \'src\',
        }
然后在;“编辑”;部分添加此内容(不要忘记在编辑部分向属性对象添加videoURL声明)

const onChangeVideoURL = (value) => {
            setAttributes({ videoURL: value });
        };
现在,在;return“返回”;第节;“编辑”;块-注意;src“;对于视频:

<h3>{__(\'Link to video\', \'In the Media\')}</h3>
                <RichText
                    tagName="div"
                    multiline="iframe"
                    src={videoURL}
                    className="wp-block-embed is-type-video is-provider-youtube"
                    placeholder={__(
                        \'Link to video url\',
                        \'In the Media\'
                    )}
                    value={videoURL}
                    onChange={onChangeVideoURL}
                />
然后在;“保存”;部分添加此代码块(不要忘记将声明的videoURL添加到attributes对象):

<h3>{__(\'Video Link\', \'gutenberg-examples\')}</h3>
                <RichText.Content
                    tagName="iframe"
                    className="video"
                    value={videoURL}
                    src={videoURL}
                />
我正在使用YT url和;嵌入“;url中的选项,如;https://www.youtube.com/embed/-----";

SO网友:Kutalia

this 通过本教程,您将了解创建古腾堡块的基本知识。它还带有boilerplate code. 我建议您创建嵌入类别的自定义块。

相关推荐

Testing Plugins for Multisite

我最近发布了一个WordPress插件,它在单个站点上非常有效。我被告知该插件在多站点安装上不能正常工作,我理解其中的一些原因。我已经更新了代码,现在需要一种方法来测试更新后的代码,然后才能转到实时客户的多站点安装。我有一个用于测试的WordPress安装程序的单站点安装,但需要在多站点安装上进行测试。根据我所能找到的唯一方法是在网络上至少有两个站点来安装整个多站点安装,以测试我的插件。设置WordPress的整个多站点安装是插件开发人员的唯一/首选方式,还是有更快的测试环境可用。