我很难正确地说出这一点,但我们列出了一份实验室验血清单:
这些都是特定测试的分组。这些测试中的每一个都可以进行一些/任何/任何以下的实验室测试:
根据我的例子,Basic Panel (代谢面板)将包括Blood Chemistry,也可能包括CBC。肝脏小组将包括Blood Chemistry、LFT等。Comprehensive Panel将包括Basic Panel中的所有以及更多的D40。
因此,我们有可以在不同测试面板之间共享的测试,其中每个测试面板都包含相同的元数据;这意味着,Liver Panel的CBC将与Basic Panel相同。
我的问题是,我们最好为Panels创建一个自定义Post类型,然后为特定的测试创建另一个自定义Post类型,并将Tests的CPT数据存储为Panel中的元数据;还是更好地使用自定义分类法?
我想以最有效的方式来做这件事,但我也不希望人们轻易地把这件事搞砸。使用其中一种或另一种的好处/陷阱是什么?
<#>编辑
我想补充一下,如果可能的话,我希望能够在站点的前端显示关于每个测试的面板、相关测试和元数据。
发布于 2022-01-05 14:43:22
为了以一种表演性的方式对事物进行分组,您通常希望创建一个具有自定义分类的CPT。听起来,lab_test作为CPT运行得很好,您可以添加一个test_panel自定义分类法来对lab_tests进行分组。
关于lab_tests的附加数据就不那么简单了--它实际上取决于您需要存储的关于每个测试的数据类型。如果在一个相当标准的集合中捕获任何或所有这些信息是可行的,那么您可能对每一段数据都有20-100个选择,那么这将是另一个自定义分类法的最佳选择。无论何时(A)使用特定类型的数据进行搜索,或者(B)在单个URL上输出来自多个帖子的数据,如果可以使用分类法而不是postmeta,则性能要好得多。但是,如果每个测试都有非常独特的关联数据,并且您将为任何一种类型的数据提供数百种选择,那么这可能意味着postmeta将比自定义分类法工作得更好。
另一个想法--如果您想在lab_test URL上显示关于每个test_panel的所有数据,那么根本不用使用分类法或后置元数据。您可以为lab_test CPT设置一个块模板,这样每个模板的结构都是相同的,并且每个CPT的全部内容输出都是在单个lab_test URL和相关的test_panels上进行的。根据您对标记的创造性程度,您可能在每个地方都有相同的内容,但是在test_panels上隐藏一些数据--比如用手风琴--所以,只有当用户交互以更多地了解单个lab_test时,这些数据才会出现。
https://wordpress.stackexchange.com/questions/400967
复制相似问题