繁体   English   中英

通用的Wordpress扩展表有地方吗?

[英]Is there a place for generic Wordpress Extension tables?

WordPress的数据模型通过其“元”表(aka,wp_postmeta,wp_commentmeta,wp_usermeta)提供了可扩展性。 此名称/值对链接非常灵活,并由Wordpress的API支持。 有充分的理由来庆祝它,但是如果您有很多扩展属性与事务无关,它也会变得非常糟糕。 举例来说,假设我有一个称为“血液测试”的自定义帖子类型,我希望它能够捕获血液分析中30-40种不同的测量值。 在每个测试中使用wp_postmeta连接是否可行? 可能不是。

我可以完全定制并左右建表,但我想知道的是,没有办法至少建立“ 80/20规则”并有一个通用扩展表,该表提供静态数量的附加列来放置SQL可搜索属性,然后以JSON对象的列结尾,该列将允许非SQL可搜索属性扩展到几乎无限量? 如下图所示:

比较两个模型

我当时认为这样做也可以扩展Wordpress API,以便大多数开发人员在很大程度上不了解这种结构差异。 像这样:

注册API的示例:

$my_meta_ext = new WP_Meta_Extension( 'post' );
$my_meta_ext->add_tran_type( 'blood-measurement' , ( 'col1' => 'total-cholesterol' , 'col2' => 
'triglycerides', 'col3' => 'etc');

使用API​​的示例:

add_ext_meta ( $term_id, 'blood-measurement.total-cholesterol', $meta_value );

好的,这是我对小组的明确问题:

  1. 这有意义吗? 您认为这有价值吗? 这样的东西是否已经以“插件”形式(或其他形式)存在?
  2. 如果您要在所有类型(aka,帖子,评论,用户等)中使用一个扩展表,您是否能够在mySQL中建立有效的索引? 每种类型都有一个表会更好吗?
  3. 在默认的wordpress扩展模型开始降低性能时,是否有人有任何衡量标准(即使尚未得到充分证明)?
  4. 如果您已经做过类似的事情...扩展模型时学到的任何重要经验教训? 这任务有多复杂?

我把这个话题成为伦敦的一个专家WordPress的工作组,而我们没有上得出答案有很明确的约定,这种类型的解决方案将是非常有价值的。 此外,我决定启动一个GIT存储库,目的是开发一个插件来解决此问题(希望得到伦敦团队或任何正在阅读此书并感到可以帮助的人的慷慨支持)。

可以在这里找到存储库:

https://bitbucket.org/ksnyder/wp-database-extension/

请理解,目前确实只有一个想法,一个高级设计,一个接口规范,但没有真正的代码。 这当然会改变,并且如果您愿意帮助我们实现这一目标,它会更快地改变(请注意,我没有运行分布式开发的个人经验,但您必须在某个地方学习)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM