WordPress Gutenberg,编程更新文章内容

4

我一直在使用Gutenberg编辑器进行ACF和自定义块的测试。我一直在寻找解决方案来解决我的问题,但我没有找到关于这个主题的任何信息(也许是因为我的谷歌技能不够好)

但我的情况是这样的: 我有一个自定义文章类型,在其中我想设置一个模板,以便他们无法移动块并添加其他块等。在这种文章类型中,约70%是通过代码创建的。因为它从API获取所有信息。

测试1:我创建了一个包含所有所需字段的ACF块,并且在从WP管理界面创建新文章时正常工作。但是当我运行update_field函数时,它会像以前一样将其保存到post_meta表中。因此,我的问题在于如何更新字段,以便将其保存到post_content而不是post_meta表中。

测试2:我为所有字段创建了自定义块(将每个ACF字段转换为块),并设置了模板仅使用这些块。 但是,在这里,我不知道如何使用PHP或Javascript更新post_content

我希望你能帮助我解决这个问题:)如果有任何不清楚的地方,请告诉我,我会尽力解释清楚。

2个回答

1

0

截至WordPress 5.0.0

在注册自定义文章类型时,您可以使用templatetemplate_lock参数。

然后,您可以设置要使用的特定块的数组,并选择限制用户添加新块或删除它们。

属性 描述
template (数组) 包含用作编辑器会话默认初始状态的块的数组。每个项应该是一个包含块名称和可选属性的数组。
template_lock (字符串/假) 如果$ template已设置,则该块模板是否应被锁定。如果设置为“ all”,则用户无法插入新块,移动现有块和删除块。如果设置为“ insert”,则用户可以移动现有块,但无法插入新块和删除块。默认为false。

一个简短的例子可能如下所示...

<?php
$args = [
    //...
    'template_lock' => 'all',
    'template' => [
        [ 'core/paragraph' ],
        [ 'core/file' ],
        //...
    ],
    //...
];
register_post_type( $post_type, $args );
?>

目前,Gutenberg 的文档比较稀缺,您可以在 https://github.com/WordPress/gutenberg/tree/master/packages/block-library/src 找到完整的块和参数列表。


古腾堡仍在开发中,有些功能表现不如预期。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接