是否可以在CPT块模板中访问Gutenbergs可复用块?

时间:2019-02-07 作者:Playnary

我试图做的是在自定义帖子类型的块模板中使用特定的可重用块,这些块可由后端的某些管理员编辑。因此,如果您注册了CTP或编辑了标准post类型的功能,您可以像这样使用它们:

    function create_add_post_types() {
    register_post_type( \'product\',
    array(
      \'public\' => true,
      \'capability_type\' => \'page\',
      \'show_in_rest\' => true,
      \'template\' => array(
            array( \'core/heading\', array(
                   \'placeholder\' => \'Füge eine Überschrift hinzu\',
                   \'content\' => \'Projektname - Stadt, Land\',
                   \'level\' => 1,
            ) ),
        )
    );
    }
    add_action( \'init\', \'create_add_post_types\' );
。。除了像这里的标题这样的核心块之外,我们称之为可重用块。

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

实际上,我自己通过遵循可重用块在中注册的方式找到了一个解决方案this stackexchange thread:

可重用块全部存储在/中core/block 该块具有以下属性ref 它携带该块的post id。

因此,您可以使用

array( \'core/block\', array(
 \'ref\' => [your block ID],
) ),
每个注册块的ID都可以通过该块的URL在[your-wordpress]/wp-admin/edit.php?post_type=wp_block

SO网友:gtamborero

可以在调用任何post类型时调用可重用块:

$args = array(
    \'post_type\' => \'wp_block\',
...

get_page_by_title( \'Your Title\', OBJECT, \'wp_block\' );

相关推荐

Use of Templates in a Plugin

我正在创建一个插件。为此,我编写了自己的模板。现在我想在我的插件目录中创建模板文件。但这并不管用。由于我使用了插件目录,wordpress doesent知道我的模板是wp templates。让WP知道这些文件是wordpress模板的最佳方式是什么?感谢您的回答:)