我目前有多个页面,每个页面都是一个自定义字段,名为“country”。
在'country'字段中,我有这个值'uk,usa,brazil'。
我想要做的是在页面上显示我在自定义字段“country”中列出的标签的帖子(在这种情况下显示帖子中有任何标签'uk','usa'和'巴西')。
我有以下代码,但我不知道如何操作它来执行上述操作?
$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 );
似乎只是过滤单个值?
非常感谢任何帮助实现上述目标。
答案 0 :(得分:1)
我设置了一个自定义分类法来创建另一个名为“country”的'tags'版本,然后你可以改为进行分类查询。
请参阅“自定义帖子类型UI”以获得创建自定义分类的简单界面。
https://wordpress.org/plugins/custom-post-type-ui/
然后,您可以在页面模板中使用自定义wp_query,以显示标记为国家/地区标记的帖子。
要获取与您的网页相关联的国家/地区字词ID:
$ countryTerms = wp_get_post_terms($ post-> ID,'country',array(“fields”=>“ids”));
然后更改您的Query参数以收集标记为国家/地区的帖子。
$args = array(
'post_type' => 'post',
'tax_query' => array(
array(
'taxonomy' => 'country',
'field' => 'term_id',
'terms' => $countryTerms
),
),
);
如果您想坚持使用元字段,请尝试将“TYPE”值更改为“NUMERIC”。