在古登堡图像块中设置默认图像链接目标

时间:2019-02-01 作者:Sean

我想将古腾堡图像块的默认目标设置为“媒体文件”:

Link target

我已经找到了classic editor, 和一个似乎为Gutenberg galleries 通过编辑块的模板,但我的印象是,修改编辑器行为的预期方法是通过块编辑器中的JavaScript挂钩。

有没有办法在块编辑器中使用JavaScript挂钩设置默认目标?

更新:我在Gutenberg GitHub存储库上发出了一个pull请求,试图实现用插件覆盖默认链接目标的能力。最新版本为here. 截至撰写本文时,这一点尚未合并。

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

这(最终)被固定在古腾堡(Gutenberg)(并将适用于图像和画廊区块);并将向WordPress选项的数据库表中添加一个选项。这是在https://github.com/WordPress/gutenberg/pull/25578https://github.com/WordPress/gutenberg/pull/25582

它将被添加到WordPress 5.6中,但它已经在Gutenberg插件中可用。

要在默认情况下将图像链接到文件,请在主题或插件中发出以下命令:

add_action( \'after_setup_theme\', function() {
    update_option( \'image_default_link_type\', \'file\' );
});
更换file 具有attachment 如果出于某种原因要链接到附件页,或none 如果你不想让图片有链接。

至于javascript:在古腾堡,修改块以改变站点选项是可能的,尽管我还没有让它工作,请查看:https://github.com/WordPress/gutenberg/issues/20731

请注意,如果您尝试在javascript中使用image\\u default\\u link\\u类型,请不要使用;“文件”;和;“发布”;作为选项(只要此票证打开)-请参阅https://github.com/WordPress/gutenberg/issues/25587

SO网友:Alvaro

使用过滤器blocks.registerBlockType 我们可以更改块注册设置。我们只需要针对core/image 阻止并修改属性的默认值linkDestination 默认情况下为无。

function modifyLinkDestinationDefault(settings, name) {
    if (name !== "core/image") {
        return settings;
    }

    settings.attributes.linkDestination.default = "media";

    return settings;
}

wp.hooks.addFilter(
    "blocks.registerBlockType",
    "my-plugin/modify-linkDestination-default",
    modifyLinkDestinationDefault
);

SO网友:Fabien

核心/库中链接的正确默认属性是:

settings.attributes.linkTo.default = \'file\';

相关推荐

JavaScript errors

最近我刚把我的网站移到了新服务器上。旧服务器工作正常。但现在,在我更换了新服务器之后,wordpress布局被折叠了。当我看到控制台时,我看到了这个错误(请参阅图片)。它还将x添加到脚本中,从而导致出现错误。请帮我做这个。