【发布时间】:2018-08-27 14:05:32
【问题描述】:
我有一个用户列表,我只想通过使用适当的 meta_query 参数来获取:
用户可以选择/选择最喜欢的类别,并且该数据保存为元数据,更具体地说,保存为序列化数组。
元密钥:favorite-categories
元值:a:9:{i:0;s:1:"7";i:1;s:2:"10";i:2;s:1:"8";i:3;s:2:"21";i:4;s:2:"22";i:5;s:2:"24";i:6;s:2:"28";i:7;s:2:"25";i:8;s:2:"26";}
上面的meta_value表示特定用户喜欢以下喜欢的类别(词条ID):
Array
(
[0] => 7
[1] => 10
[2] => 8
[3] => 21
[4] => 22
[5] => 24
[6] => 28
[7] => 25
[8] => 26
)
应该如何构建我的 meta_query 以获取“喜欢”类别 7 和 26 的用户?问题是我想不出最好的方法。
下面的论点似乎不起作用:
[key] => favorite-categories
[value] => Array
(
[0] => 43
[1] => 36
[2] => 41
[3] => 42
[4] => 40
[5] => 30
[6] => 8
[7] => 9
[8] => 10
[9] => 29
[10] => 7
[11] => 20
[12] => 19
[13] => 22
[14] => 18
[15] => 21
[16] => 26
[17] => 25
[18] => 28
[19] => 27
)
[compare] => IN
[type] => text
)
【问题讨论】:
-
据我所知,WP 查询机制不处理序列化字符串中的搜索(即使是一般的 SQL)。您应该考虑不同的存储解决方案。也许你会使用一个简单的字符串,用逗号作为分隔符,或者为每个喜欢使用一行。
-
没错。 mysql 怎么可能读取 php 序列化对象?或许可以使用自定义分类法。