自定义支柱类型或自定义表

时间:2013-02-26 作者:clockwiseq

我正在编写一个插件,允许最终用户提交包含客户信息的表单。提交后,我收到通知,新客户已提交申请表。如果我批准该帐户,我将创建WordPress用户帐户。

我正处于这个插件的开始阶段,我想知道我是应该使用自定义数据库表来存储我的用户信息,还是应该简单地使用自定义帖子类型并向帖子类型添加元数据?

UPDATE:

哇,已经投了反对票了!无论如何,更新我的问题,让我这样说。。。我现在尝试创建自定义帖子类型customer, 对于customer, 我只想有一个包含First NameLast Name. 当我这样做并禁用自定义帖子类型的所有支持选项时,由于缺少Title 价值它将始终设置Title “自动生成”,而这对我来说并不适用。我遇到了这个GREAT Plugin (super-cpt) 这使得创建自定义帖子类型和元框变得轻而易举。

因此,我不太确定自定义帖子类型是否适合我,因为需要做大量自定义UI工作才能说服前端和管理仪表板适合我。我越来越了解自定义数据表,但希望了解有关自定义帖子类型的编辑表单的更多信息。有人可以分享链接吗?

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

I don\'t know if we are allowed 链接到其他答案,但还有一个问题与您的问题非常相似,被接受的回答者陈述了以下内容:

如果有人说只有一种“正确”的方法,你应该对此持怀疑态度。正确的方法取决于情况。使用CPT基础架构有许多显著的好处:

  • 你可以免费获得仪表板用户界面
  • 你可以自动利用WP的缓存,包括安装可能使用的任何持久缓存插件
  • 你可以自动获得诸如后期修订之类的好东西
  • 你可以访问WP_查询类,这意味着在理论上,您不必编写任何(或至少不需要编写太多)可能存在bug、易受攻击和效率低下的SQL如果您计划分发插件或将其开放用于开源开发,您可能会发现开发人员使用自定义post类型和相关API函数比使用您自己的自定义内容更为方便。

    资料来源:Here

SO网友:unity100

如果有超过1-2个元与您的自定义帖子类型相关,则可能(或必要)基于该自定义数据进行复杂用户搜索,然后是自定义表。否则,通过在元表上同时查询2-3个条件,在元表上进行复杂的连接以获取帖子,将减慢站点的速度。很大程度上,基于并发用户。如果您有大约5000-10000个这样的数据条目,您将进入一个查询地狱。

如果大约有1-2个元数据,或者,不会有复杂的用户搜索您的元数据,并且数据不需要动态显示(可以在不损失用户体验的情况下缓存),那么请使用WP的post和POSTETA。

顺便说一句,您也可以做一些非常特别的事情,您可以创建一个自定义表,在一个平面关系表中镜像所有post条目及其复杂的元数据,并使用钩子搜索函数(或其他必要的函数)从这个自定义的“搜索缓存表”中进行搜索,然后从wp\\U post和wp\\U POSTETA中读取结果集,您也可以使用wp表来处理大量复杂的数据集。但是,您需要将任何有问题的查询操作转移到您的这个缓存表。

我相信流行的搜索插件Relevansi可以做到这一点——将复杂的帖子和PostMeta缓存在一个平面的关系表中,并从中提取搜索结果。

*更正-不正确:Relevansi不会创建用于更快搜索的数据存储。它只是提高了搜索质量。

但实际上,在我看来,这太离谱了。如果您的数据大而复杂,只需使用单独的表即可。

结束

相关推荐

Add Column to Term Database

目前,术语数据库有四列。term_id name slug term_group. 我想添加另一个名为menu_order.我该怎么做?我想要的结果是能够订购我的自定义条款。如果有人知道更好的方法,请告诉我。到目前为止,我已经有了设置输入框的代码。我只是需要帮助,试着用get_terms() 作用add_action ( \'section_edit_form_fields\', \'create_section_menu_order\'); function create_section_men