Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 修改或添加类到核心wordpress块中的单个组件_Javascript_Wordpress_Reactjs_Wordpress Gutenberg_Gutenberg Blocks - Fatal编程技术网

Javascript 修改或添加类到核心wordpress块中的单个组件

Javascript 修改或添加类到核心wordpress块中的单个组件,javascript,wordpress,reactjs,wordpress-gutenberg,gutenberg-blocks,Javascript,Wordpress,Reactjs,Wordpress Gutenberg,Gutenberg Blocks,我很难修改或向wordpress块的各个组件添加额外的类。我基本上只是想在一些核心wordpress块的组成部分中添加一个或多个类,以完成添加引导样式之类的工作 图像库块就是一个例子。就我的目的而言,它工作得很好,但我可能想做一些事情,比如向该库中的图像添加“img流体”或“img缩略图”类 我已经查看了块过滤器,我觉得我的答案似乎就在那里的某个地方,我只是还不确定在哪里 我尝试过使用过滤器,但这会向整个块添加一个类名,而不是组成该块的各个部分(例如我的图库示例中的图像) 这是他们在文档中给出的

我很难修改或向wordpress块的各个组件添加额外的类。我基本上只是想在一些核心wordpress块的组成部分中添加一个或多个类,以完成添加引导样式之类的工作

图像库块就是一个例子。就我的目的而言,它工作得很好,但我可能想做一些事情,比如向该库中的图像添加“img流体”或“img缩略图”类

我已经查看了块过滤器,我觉得我的答案似乎就在那里的某个地方,我只是还不确定在哪里

我尝试过使用过滤器,但这会向整个块添加一个类名,而不是组成该块的各个部分(例如我的图库示例中的图像)

这是他们在文档中给出的示例:

 // Our filter function
function setBlockCustomClassName( className, blockName ) {
    return blockName === 'core/code' ?
        'my-plugin-code' :
        className;
}

// Adding the filter
wp.hooks.addFilter(
    'blocks.getBlockDefaultClassName',
    'my-plugin/set-block-custom-class-name',
    setBlockCustomClassName
);
我觉得好像可以做我需要的事情,但我不知道如何以这种方式使用它。他们使用的示例如下所示:

function addBackgroundColorStyle( props ) {
    return lodash.assign( props, { style: { backgroundColor: 'red' } } );
}

wp.hooks.addFilter(
    'blocks.getSaveContent.extraProps',
    'my-plugin/add-background-color-style',
    addBackgroundColorStyle
);
但是,即使我要添加一个额外的属性,比如类名,我也会认为我需要修改实际的保存和编辑函数(我想使用更多的块过滤器),以便在显示这些片段(在本例中是图像)时使用该类名,我也不确定如何做到这一点


如果您对此有任何想法或建议,我们将不胜感激。

有两种变化,一种是结构变化,另一种是样式变化。在您的场景中,您需要更改样式,但实际上您正在寻找结构更改。您可以编写自己的CSS,在编辑器视图和前端处理块样式


这些钩子是将样式排队(仅在后端编辑器中将样式排队)和(在后端和前端将样式排队)所需的钩子。

我想更改实际类名或向元素添加其他类名,以便利用引导样式。对我来说,从本质上重新创建一个特定的引导样式并将其放在css中的另一个名称下是没有意义的,特别是因为我在站点的其他部分使用引导。这就是为什么我在寻找一种方法,只需向核心块内的元素添加额外的类名。不幸的是,gallery块内的图像不是块(因为它们在columns块中),因此您必须编写自定义块,因为在这方面没有过滤器可以帮助您。另一方面,如果符合您的目的,您可以添加列块并在其上添加图像。