首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使动态Gutenberg块在前端呈现

无法使动态Gutenberg块在前端呈现
EN

WordPress Development用户
提问于 2019-01-15 23:19:31
回答 2查看 4.3K关注 0票数 3

我尝试了我在网上找到的一切。出现后端,包括动态段(withSelect等)。但是最简单的‘呈现-回调’并没有出现在前面。

plugin.php

代码语言:javascript
复制
/**
 * Plugin Name: My Dynamic Block
 */

function my_plugin_render_dynamic_block( ) {
    return '<h1>Sample Block</h1>';
}

function register_dynamic_block() {
    wp_register_script(
        'dynamic-block',
        plugins_url( '/dist/block.js ', __FILE__),
        array( 'wp-blocks', 'wp-element', 'wp-editor' ),
        filemtime( plugin_dir_path( __FILE__ ) . 'dist/block.js' )
    );

    register_block_type(
        'my-plugin/dynamic-block',
        [
            'editor_script' => 'dynamic-block',
            'render_callback' => 'my_plugin_render_dynamic_block',
        ]
    );
}
add_action('init', 'register_dynamic_block');

block.js

代码语言:javascript
复制
const { __ } = wp.i18n;
const { registerBlockType } = wp.blocks;

registerBlockType( 'my-plugin/dynamic-block', {
    title: 'My Dynamic Block',
    icon: 'megaphone',
    category: 'widgets',

    edit({attributes}) {
        return (
            <div>Content</div>
        );
    },

    save() {
        return null;
    },
} );
EN

回答 2

WordPress Development用户

发布于 2019-08-29 17:33:19

由于您正在创建一个动态块,所以不需要在JavaScript中注册该块。看看Core中最新的帖子块,看看他们是如何做到的。

票数 -2
EN

WordPress Development用户

发布于 2019-01-21 12:49:58

即使您确实设法以空返回呈现前端,在下一页重新加载时,也会出现块验证错误。因为编辑函数上的html结构将与保存函数不匹配。所以

而不是

代码语言:javascript
复制
    save() {
        return null;
    },

试一试

代码语言:javascript
复制
     save() {
         return (
           <div>Content</div>
       );
    },

我希望这能帮到你。

票数 -3
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/325720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档