HOWTO:自定义发布类型(元)到自定义表

时间:2018-05-01 作者:sleeper

透视中的the code 对于Pippin Williamson的Easy DigitalDownloads,我注意到他使用自定义表和自定义帖子类型<我还看到(大致)相同的表格/自定义帖子类型在重力表单中配置,GiveWP和其他许多流行插件Note: Pippin在“是否应该执行自定义表”参数中提供his rational 在这篇优秀的文章中定制表格。

WordPress插件开发人员曾经有一种想法,即永远不要在插件中使用自定义表,因为这不是“WordPress”的方式。让我们从抛开这种态度开始。

在存储大量数据时,如果这些数据与现有WordPress数据库模式不太相似,则绝对应该使用自定义表。选择不使用自定义表可能弊大于利。虽然可以在wp\\u posts表中存储几乎任何您想要的自定义post类型,但这并不意味着您应该这样做,也不意味着这是一个好主意。

考虑到这些现实,我想跳过通常的"You should never do this" 目前的论点。这件事正在发生:)我需要知道的是how 完成了吗?

Problem: 我不理解自定义帖子类型和自定义表之间的关系是如何建立和维护的。

我是否应该在自定义表中存储自定义帖子类型数据(相对于wp\\U帖子)

谢谢

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

Should I store the Custom Post Type data in the Custom Table (vs. wp_posts)?

wp_posts 实际上没有用于自定义数据的空间。唯一的地方是wp_postmeta. 由于我们正在将参数抛出窗口,因此您可以将与帖子相关的任何其他信息存储在自定义表中。

Should I store the Custom Post Type\'s metabox data only in the Custom Table?

这完全取决于你。您也可以将两者结合使用。您可以将简单的东西存储在wp_postmeta 如果您喜欢,其余的都在自定义表中,或者自定义表中的所有内容。如果您正在极大地扩展自定义贴子,那么可以将其存储在自定义表中,但对于诸如是/否值之类的元数据,可以将其存储在wp_postmeta.

Do I use the save_posts hook to handle DB Crud?

是的,你会的。请记住,无论什么时候,它都会被炒鱿鱼。因此,需要进行一些检查,例如是否保存感兴趣的帖子类型,以及这是手动保存还是自动保存,但是save_post 我们保证您总能捕捉到每次保存(包括新添加的内容)。

结束

相关推荐