在一个WordPress插件中,我创建了一些自定义的“布局” Gutenberg块。这些基本上是包含其余页面内容的“框”。我想用户限制为只添加这些箱子到一个网页,但随后让他们把任何内他们的孩子块。
我发现了如何使用allowed_block_types
过滤器来限制古腾堡块。这仅用于限制用户向页面添加“框”。
然后,我发现了如何将古腾堡块限制为仅允许特定的子块。即在InnerBlocks上指定,allowedBlocks: ['core/paragraph','core/list','core/seperator',...]
以便“框”可以包含这些子块。
问题在于,allowed_block_type过滤器似乎覆盖了allowedBlocks。
如何在“页面”级别允许特定的块,而在“孩子”级别允许其他块?
我需要检查是否var a : Dynamic = {}
是一个对象。所以我期待:
var a : Dynamic;
a = 17.2; check( a ); // false
a = "test"; check( a ); // false
a = [1,2,3]; check( a ); // false
a = 99; check( a ); // false
a = {b:1, c:2}; check( a ); // true
Run Code Online (Sandbox Code Playgroud)
这是我所拥有的(与上面略有不同,因为它检查多种类型并返回一个枚举)。一切正常,除了对象行:
function check( v : Dynamic ) : TokenType {
if ( Std.is(v, std.Array) ) return TTArray;
else if ( Std.is(v, std.String) ) return TTString;
else if …
Run Code Online (Sandbox Code Playgroud)