我正在使用advanced custom fields plugin在自定义帖子类型之间创建关系。我的自定义帖子类型是课程和机构。因此,当我通过管理仪表板添加课程帖子时,我选择了与课程相关的机构。
但是现在我通过wpdb对象以编程方式插入帖子,我想创建相同的关系。因此,我需要知道ACF插件是如何创建关系的。
目前我认为我应该在课程的后期元数据中插入额外的数据。但这是否需要呢?我是否还需要更新机构才能完成课程?
答案 0 :(得分:3)
最好使用WP和插件的API。使用$wpdb
执行此操作并不是一个好主意,因为其他插件可能会挂钩到wp_insert_post
,如果我们使用$wpdb
,它会完全绕过它。如果我们study the function,我们可以看到那里有很多,而不仅仅是wpdb->insert
。
ACF有自己的存储元数据的逻辑,仅使用WP的update_post_meta()
是不够的。
执行wp_insert_post()
后,使用返回的ID执行update_field()
。
我的观点是:我们不需要知道 “如何在数据库中创建WordPress帖子关系?”。我们使用平台提供的功能,我们有一个面向未来的代码。