元查询过滤器的标签Wordpress


Meta Query Filter by Tag Wordpress

我目前有多个页面,在每个页面是一个自定义字段,命名为'country'。

在'country'字段中,我的值是'uk, usa, brazil'。

我想做的是在页面上显示我在自定义字段"国家"中列出的标签的帖子(在这种情况下显示有任何标签"英国","美国"answers"巴西"的帖子)。

我有下面的代码,但我不知道如何操作它来做上面的?

$args = array (
    'post_type'              => array( 'post' ),  // YOUR POST TYPE
    'meta_query'             => array(
        array(
            'key'       => 'country',  
            'value'     => $your_country,  // THE COUNTRY TO SEARCH
            'compare'   => 'LIKE',  // TO SEARCH THIS COUNTRY IN YOUR COMMA SEPERATED STRING
            'type'      => 'CHAR',
        ),
    ),
);
// The Query
$query = new WP_Query( $args );

似乎只是过滤一个值?

我将设置一个自定义分类法来创建名为'country'的'tags'的另一个版本,然后您可以执行分类法查询。

参见'Custom Post Type UI'获得创建自定义分类法的简单界面。

https://wordpress.org/plugins/custom-post-type-ui/
  1. 安装CPT UI(上面的插件)
  2. 在菜单中选择"添加/编辑分类法"。添加"国家"作为分类法。附加到你的' post ' post_type和'page'。
  3. 标记页面(用于显示帖子),并使用您的国家标签标记"帖子"。

然后,您可以在页面模板中使用自定义wp_query来显示带有国家标记的帖子。

获取与您的页面相关的国家/地区术语的ID:

$ countryTerms = wp_get_post_terms (post -> ID,‘国家’,数组("字段"=>"ID")),

然后更改您的Query参数以收集贴子,并标记为国家。

$args = array(
    'post_type' => 'post',
    'tax_query' => array(
        array(
            'taxonomy' => 'country',
            'field'    => 'term_id',
            'terms'    => $countryTerms
        ),
    ),
);

如果你想坚持一个元字段,尝试改变你的'TYPE'值为'NUMERIC'。