是否可以将Json数据存储在POST_META中并进行操作

时间:2019-05-09 作者:Vrangle

我只想在post meta字段中添加json数据类型,就像在普通数据库中一样。json数据将采用以下结构,

    Post Name                        Meta Data

   1.Sample title 1 --->       {name:Austin,score:40},
                               {name:Rock,score:60},
                               {name:Vinci,score:48}

   2.Sample title 2 --->       {name:Steve,score:25},
                               {name:Ricky,score:90}

   3.Sample title 3 --->       {name:Bichel,score:10},
                               {name:Ronaldo,score:78},
                               {name:Mathew,score:80}
我需要的结果是

 Sample title 2  Winner name Ricky and score is 90 // since 90 is highest among all the three posts
 Sample title 3 Winner name Mathew and score is 80
 Sample title 1 Winner name is Rock and score is 60
检查上述示例

1号帖子有3个用户名和3个分数,与2号、3号帖子类似。。具有相同类型的用户名和分数。我希望排序(元数据)得分排序的最高得分,然后得到帖子,这样的结果将

    Post Name                        Meta Data

   1.Sample title 1 --->       {name:Rock,score:60},
                               {name:Vinci,score:48},
                               {name:Austin,score:40}

   2.Sample title 2 --->       {name:Ricky,score:90},
                               {name:Steve,score:25}

   3.Sample title 3 --->       {name:Mathew,score:80},
                               {name:Ronaldo,score:78},
                               {name:Bichel,score:10}
再次,我将获取所有帖子,并根据之前排序的最高分对帖子进行排序。如果这是一个乏味的查询,至少我希望对每个Posteta的分数进行第一个索引,并按最高分数排序。

我已经实现的是将这个json作为数组存储在post meta中。获取所有帖子(paged=-1)和相应的postmeta,然后从php端对postmeta进行排序并对帖子进行排序。但只要它是小分贝,它就可以处理这个负载。但这个db可能会有5万个帖子。

因此,我希望转到其他实现。就像使用JSON数据类型orderby的普通DB一样,有可能吗?,如果没有,请给我一个解决方案。

1 个回复
SO网友:WebElaine

按Posteta进行查询效率非常低,因此对于一个有许多帖子的站点,您可能会遇到问题。

在这种情况下,创建自定义分类法几乎总是更好的选择。分类查询的要求要低得多,在较大的站点上可以更好地扩展。

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在