通过多个元中的特定元值获取帖子和数字

时间:2018-08-28 作者:ebeliejinfren

我在帖子中有一个多个meta(自定义字段)作为“cd\\u meta”,它(cd\\u meta)有一个meta作为“artist”,而且“artist”meta可能在数组中有一个或多个值

我想得到的职位,“艺术家”元有特定的价值和数量

查看下图了解更多信息enter image description here

2 个回复
SO网友:nmr

将数组存储为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\',
),

SO网友:Dharmishtha Patel

请更改SQL查询

$args = array(
   \'meta_query\' => array(
       array(
           \'key\' => \'cp_annonceur\',
           \'value\' => \'professionnel\',
           \'compare\' => \'=\',
       )
   )
);
$query = new WP_Query($args);

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post