双值标签作为一种深奥的分类法

时间:2019-06-12 作者:Matthew Brown aka Lord Matt

我想答案可能是,准备编写一些SQL,但我还是要问。

我的情况是,我从外部源提取数据,并将其存储在自定义的post类型中。总的来说,这看起来会很有效。然而,道路上有一个轻微的颠簸。

这些数据带有所谓的姿态。它们以键值对的形式存在,其中键和值可以是任何东西。考虑到我已经在meta中存储了其他数据,我希望得到的是类似于标签的东西,但是成对的。在大多数方面与标记完全相同,但有两个值的分类法。

我试着把这些值转换成$tag = "{$key}|{$value}"; 但我可以看到它很快变得凌乱和臃肿。

当前的解决方案将整个阵列放入一个元中。这是可行的,但对于“选择所有同意foo是bar的X类型的帖子”来说并不太好。

这让我想问,是否可能有更复杂的双因素分类法?

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

导入时,可以为每个唯一的站姿键创建一个分类法,然后将该值作为术语添加到该键的分类法中,然后将该术语分配给帖子。

我的建议如下:

将站姿键存储在数据库中的某个位置(可能作为选项),确保没有重复的站姿键。根据您拥有的数量,这可能只是一个带有序列化数组的单个值init hook,用get_option(), 并使用register_taxonomy().register_taxonomy() 以便为流程的其余部分注册分类法wp_insert_term(), 但只有在检查该值不存在之后get_term_by().一旦注册了分类法,并且插入或找到了值的术语,请使用wp_set_post_terms().如果这样做,则可以使用taxonomy query. 这将比尝试使用post meta进行筛选更快。

相关推荐