问题标签 [gutenberg-blocks]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2104 浏览

wordpress - 在古腾堡编辑器中向父 .wp-block 元素添加一个类

当古腾堡创建一个类时,它似乎是格式

我希望能够向该顶部 div.wp-block 元素添加一个类,以便我可以在编辑器中正确设置我的块的样式。该类是基于属性动态生成的,因此我不能只使用块名称类。有没有一种干净的方法可以做到这一点?我可以使用 javascript DOM 破解它,但它会很快被覆盖。

0 投票
2 回答
519 浏览

wordpress - 从其他古腾堡块获取信息和属性

是否可以从 registerBlockType 调用中的其他块获取信息,例如块属性?

例如,如果我有一个以 InnerBlocks 作为内容的块,是否可以从该 InnerBlocks 内的块中获取属性,反之亦然?

0 投票
1 回答
51 浏览

wordpress - 古腾堡和经典编辑器 - 如何在经典编辑器中使用自定义古腾堡块?

我正在制作一个主题,因为我为古腾堡创建了一些自定义块,但问题是如果他/她切换到经典编辑器,用户如何使用古腾堡块。

例如,

假设我已经创建了一个按钮块(我知道它已经在那里)但是一个自定义的按钮块,因此当他/她切换到经典编辑器时,用户如何能够访问它。

真的有可能吗。如果是,那么如何。

0 投票
2 回答
561 浏览

javascript - 使用 Gutenberg getEntityRecords 获取 woocommerce 产品类别

是否可以使用 Gutenberg 获得所有产品类别getEntityRecords()

我找到了获取帖子类别的代码,如下所示

我可以更改上述代码以获取所有 woocommerce 产品类别吗?

0 投票
2 回答
449 浏览

gutenberg-blocks - Gutenberg Block Development:只保存一个 RichText 内容

我在我的块中添加了两个RichText组件。

我尝试了两种不同的方法来保存数据。

使用默认save()功能

将其保存在 PHP 中:

使用render_callback方法(使用return null;from 块的默认save()功能。

atts['contentHeading']数组中根本不存在元素$atts。当我检查var_dump( $attas );它是否textContent存在元素时。

问题是这两种方法都只保存textContent. contentHeading根本没有节省。

我错过了什么?

0 投票
1 回答
59 浏览

wordpress - 古腾堡编辑器中未更新样式

我创建了一个古腾堡块,部分输出是设置根元素的样式。我遇到了这个根元素的样式属性在更改时没有在古腾堡编辑器中动态更新的问题。我的编辑功能如下:

这在页面加载时效果很好,但是当我在页面上(通过 InspectorControls)更改 getStyles(attr) 返回的内容时,样式不会改变。我什至在输出中添加了一个额外的“状态”属性,它会按预期进行更改,结果如下所示:

我已将背景大小更改为覆盖,它在“状态”属性中更新,但不在样式中。如果此时我要保存页面,它将在下一页加载时正确呈现(作为背景大小:封面)。

React 是否有某种我缺少的缓存?

0 投票
1 回答
871 浏览

wordpress - 如何在古腾堡渲染额外的复选框?

我想在裁剪图像旁边添加一个额外的复选框,但我不明白需要用 javascript 编写什么来渲染和处理它。我找不到解释这一点的文档。我试过写这样的代码,但没有用:

0 投票
0 回答
72 浏览

reactjs - 在 Gutenberg ServerSideRender 完成时执行操作

每当我的块的 ServerSideRender 完成内容的加载并将它们显示到编辑器中时,我想运行一个 javascript 代码。

有没有可用的钩子/事件?

0 投票
0 回答
487 浏览

wordpress - 使用 Gutenberg / Wordpress 加载动态 CSS 和 JS 的最佳方式

我正在用 Gutenberg 创建一个块,我正在寻找一种实用且简单的方法来通过 Gutenberg 在前端加载 CSS 和 JS 文件。

我担心的是我需要根据块的选项在保存(前端)时将多个 JS 和 CSS 文件排入队列。说如果option1启用,我想加载js1.jscss1.css,并且option2启用,js2.js仅加载文件等等。

我知道我可以在创建块的同时合并 js 和 css 文件,但是文件大小越来越大,我不想让用户加载不必要的代码。

我所做的是通过WP_Block_Parser/ gutenberg_parse_blocksinside enqueue_block_assetsaction 解析内容,但即使它有效,我也不太喜欢这种方式。

我打算用 javascript 加载 CSS 和 JS 文件,但我无法将插件 URL 传递给块 JS,我什至不确定这是否是一个更好的选择。

您对更好的选择有何建议?

谢谢,

0 投票
1 回答
1280 浏览

gutenberg-blocks - 古腾堡定制柱块开发

我正在构建具有以下要求的古腾堡街区。它已经作为经典在现场工作,shortcode但现在我需要将其转换为块。

  • 该块将有两列。
  • 其他块(我已经开发的本地块和自定义块)都可以添加到两个列中。
  • 我需要为单独的列添加单独的属性,以便它们data-span="4"与左列和data-span="2"右列一样呈现,反之亦然。

我创建了一个自定义JSX布局,以在编辑器中呈现具有两列的块并<InnerBlocks>在每一列中添加,即我有两个<InnerBlocks>. 但是<InnerBlocks>不允许多个,所以我不得不放弃它。

我第一次尝试这个

接下来我尝试了以下

上面让我添加一个列块,然后在每一列内。我也可以添加其他块,包括我的自定义块。我不知道如何为本地块data-span="x"添加的每个列添加上述属性 () 。column

渲染的输出看起来像这样(在现场)

我正在寻找最后 3 天,但找不到任何合适的文章/线程,这可能会给我带来一些启示。