我目前有多个页面,在每个页面是一个自定义字段,命名为'country'。
在'country'字段中,我的值是'uk, usa, brazil'。
我想做的是在页面上显示我在自定义字段"国家"中列出的标签的帖子(在这种情况下显示有任何标签"英国","美国"one_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/
- 安装CPT UI(上面的插件) 在菜单中选择"添加/编辑分类法"。添加"国家"作为分类法。附加到你的' post ' post_type和'page'。
- 标记页面(用于显示帖子),并使用您的国家标签标记"帖子"。
然后,您可以在页面模板中使用自定义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'。