WP_QUERY用于多个城市(一个元数据中有多个值)

时间:2017-08-01 作者:Ivan Lemus

提前感谢您的帮助!

我想在我的location\\u分类法中显示位于特定位置(城市)的帖子(旅游)。php我有一个分类查询,形式如下:

$args = array(
    \'post_type\'     => \'tour\',
    \'meta_key\'      => \'trav_tour_city\',
    \'meta_value\'    => $term->term_id, //city id
);
当巡更中存储的密钥只有一个值(一个城市)时,它会显示帖子。如果键有多个值(多个城市或id由逗号分隔),则不会有。

如何更改$参数,以便查询确定当前城市($term->term\\U id)存在于“trav\\u tour\\u city”中以逗号分隔的值中?

我尝试了以下几点:

                 // trying multiple cities 
                $args = array(
                    array(
                    \'post_type\'     => \'tour\',
                    \'meta_key\'      => \'trav_tour_city\',
                        \'meta_query\' => array(
                            array(
                                \'value\'   => $term->term_id, 
                                \'compare\' => \'IN\',
                                ),
                        ),
                    ),
                );  
但很明显我不知道我在做什么。。。哈哈。。

谢谢各位。。。

2 个回复
SO网友:Cesar Henrique Damascena

如果字段以字符串格式保存,可以尝试使用LIKE, 如以下示例:

 // trying multiple cities 
    $args = array(
      array(
        \'post_type\'   => \'tour\',
         \'meta_query\' => array(
          array(
            \'meta_key\'=> \'trav_tour_city\',
            \'value\'   => (string) $term->term_id, 
            \'compare\' => \'LIKE\',
          ),
        ),
    );  

SO网友:Ivan Lemus

我在另一个论坛上找到了答案。。。

这项工作:

              $args = array (
                    \'post_type\' => \'tour\',
                    \'meta_query\'=> array(
                        array(
                            \'key\' => \'trav_tour_city\', 
                            \'compare\' => \'LIKE\',
                            \'value\' => $term->term_id,
                        )
                    ),
                    \'meta_key\' => \'trav_tour_city\',
                );

结束

相关推荐

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

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