在自定义编辑器块中更新自定义帖子类型的自定义分类

时间:2021-03-15 作者:Jeremy Skelton

我真的很难找到任何关于如何做到这一点的信息。该项目是一个教会网站的一部分,该网站包含一系列“对话”(自定义帖子类型),其中附有音频URL、视频URL、演讲者、系列等数据。演讲者和系列是自定义分类法,而不是免费文本。

目的是让不了解结构的人能够添加帖子,因此所有必需的数据都是通过编辑屏幕上的自定义块输入的。无论是存储为Wordpress数据(例如标题、slug)还是自定义字段,大部分都已实现,我可以获得分类术语的完整列表,以填充ComboxControl的SelectControl。

缺少的是能够获取帖子分类术语的当前值,并能够对其进行设置。我很确定我需要使用GetEntityRecords和EditEntityRecords,但我找不到任何有用的文档或示例。

有人能告诉我是怎么做的吗?

为了设置它,我尝试了

function updateSeriesValue( newValue ) {
            wp.data.dispatch( \'core\' ).editEntityRecord( \'post_type\', \'talks\', post_id, { \'series\': [ newValue ] } );
        };
这给了我一个错误:Uncaught(in promise)错误:正在编辑的实体(post\\u类型,talks)没有加载的配置。

为了读取值,我尝试了

wp.data.select(\'core\').getEntityRecords(\'post_type\',\'talks\',post_id,\'series\');
但我很肯定这是错误的。

提前感谢

1 个回复
最合适的回答,由SO网友:Jeremy Skelton 整理而成

我放弃了,转而使用php解决方案。自定义块中的代码使用并更新一个元字段,然后我使用“updated\\u post\\u meta”挂钩从元字段设置分类术语。在编辑之前,我使用“the\\u post”挂钩设置分类术语中的元值。

有点笨重,但它能工作。

相关推荐