将数组存储为meta_value
您正在存储一个字符串,其中包含表示原始数组的序列化数据。此格式适用于以下数据:only 用于显示。
您计划用于排序或搜索的数据,或以任何其他方式使用的数据,而不仅仅是显示信息NOT 存储为序列化数组。您应该将每个数组键存储在其自己的元字段中。
在您的示例中,您希望通过以下方式搜索帖子artist
元字段,因此请考虑对数组的更改artist[1599, 5240]
到两个单值元字段(均带有“artist“作为meta_key
, 您可以多次存储密钥):
[艺术家]=>“1599”
[艺术家]=>“5240”
更新是序列化的,必须在序列化中搜索,怎么做?
从技术上讲,可以使用LIKE运算符搜索文本,并使用"
, 但这是低效的查询。您无法保证结果的一致性,因为搜索的值可以出现在其他数组键中(例如。rev
, master
, 等等)。存储artist
因为单独的元字段是更好的解决方案。
\'meta_query\' => array(
array(
\'key\' => \'cp_meta\',
\'value\' => \'"1599"\', // OR \':"1599"\'
\'compare\' => \'LIKE\',
),