如何检查POST在古腾堡块中是否有视频块或画廊块?

时间:2019-01-15 作者:Uģis

我需要在头版上获得关于这篇文章的信息-如果它有图库或视频或两者都有,如何找到这些信息?

1 个回复
最合适的回答,由SO网友:birgire 整理而成

可以使用内置has_block( $block_type, $post ) 用于检查特定块的函数。

第一个输入参数是中的块类型<!-- wp:{$block_type} --> 第二个是post对象。

要查找相应的块类型,我们可以通过快捷方式在代码编辑器视图中查看它:

Ctrl键+Shift键+Alt键

或通过设置:

code view

例如,库块将显示为:

Code view

Example: Within The Loop

正在检查wp:gallerywp:video 块,在循环中,相应的块类型为galleryvideo:

if ( has_block( \'video\' ) && has_block( \'gallery\' ) ) {
   // ...
}

Example: Outside The Loop

对于给定的post对象,我们可以使用has_block() 确定帖子是否包含wp:gallerywp:video 块:

$mypost = get_post( 123 );

if ( has_block( \'video\', $mypost ) && has_block( \'gallery\', $mypost ) ) {
   // ...
}

Example: Custom Block Within The Loop

正在检查命名空间为的自定义块的内容:<!-- wp:custom/block -->, 这将是:

if ( has_block( \'custom/block\' ) ) {
   // ...
}

相关推荐