Wordpress的datamodel通过它的“meta”表(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 );
好的,所以这是我对小组的明确问题:
答案 0 :(得分:0)
我把这个话题带到了伦敦的一个专业的WordPress工作组,虽然我们没有得到答案但是很清楚地认为这个类型的解决方案非常有价值。此外,我已经决定创建一个GIT存储库,目的是开发一个插件来解决这个问题(希望得到伦敦团队的慷慨支持或任何正在阅读此内容并感觉你可以提供帮助的人)。
可在此处找到存储库:
https://bitbucket.org/ksnyder/wp-database-extension/
请理解,目前只有一个想法,一个高级设计,一个接口规范,但没有真正的代码。这当然会改变,如果你愿意帮助我们这项工作,它会更快地改变(请注意,我没有运行分布式开发的个人经验,但你必须在某处学习)。