如何使用自定义POST类型API,但使用不同的数据库表

时间:2012-08-23 作者:Dan Gayle

我们目前有一个插件,可以创建一个新的WP表,但在管理/更新数据时,它会重新创建轮子。这将是定制帖子类型的一个很好的候选者,但我们不想污染wp_posts 桌子

Use case: 我们正在为一家公司创建一个特定的作业板,其中列出了100个作业,我们希望为WP之外的其他php脚本保持表的干净,这些脚本也将访问相同的数据。输入和管理将由标准WordPress API处理。

Question: 我想使用WP的自定义post类型功能,但使用不同的db表。有什么想法?方向?是否可以简单地告诉WordPress为某个查询切换表?

Related: 难以阅读和理解,且不完全相同:Use Custom Database with Custom Post Type

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

我认为你做不到。也许您可以使用一个全新的数据库,但似乎不太可能添加一个新表来管理自定义的post类型。一方面,自定义post类型存储在wp\\U posts表中,但它的一些数据存储在wp\\U POSTETA表中(尤其是任何post元字段)。如果你有一个分类法,它会使用3个不同的表。如果您的插件需要存储任何选项,这些选项将位于另一个表中。

我不担心污染wp表,这是它们如何工作的。它的一部分功能是内置的可扩展性和易用性。

如果您想完全删除您的帖子类型及其所有帖子,您可以提供一种方法来删除它。

结束

相关推荐

Switching database on the fly

我读过here 关于使用动态切换当前wp数据库$wpdb->select(\'database_name\'); 一旦完成,我理解我将不得不向原始数据库发出相同的语句。问题:更改数据库后,我是否需要刷新缓存或类似的东西才能正常工作?我需要再次呼叫WP标头吗?潜在问题?