我只是找不到答案,我也可以找到我的具体情况相关的文章(或我发现,但没有认出它)。WordPress的pre_get_posts过滤与高级自定义字段
所以,我有正常的博客文章,我有自定义字段名称“标签”,我只有1个单词“音乐”(标签是文本类型)。
我选择其中有“音乐”的“标签”的所有帖子PHP是:
add_filter('query_vars', function($vars) {
$vars[] = 'tag';
return $vars;
});
add_action('pre_get_posts', function ($query) {
if (!empty($_GET)) {
if ($tag = get_query_var('tag', false)) {
$meta_query[] = array(
'key' => 'tag',
'value' => $tag,
'compare' => '='
);
}
$query->query_vars['meta_query'] = $meta_query;
}
}, 1);
现在,当我在URL例如键入:帖子的本地主机/ myblog /标签=音乐没有一个是显示,即使我在“标签”字段中有“音乐”几个帖子。 我想首先解决这个简单的案例,因为我duno什么我做错了。
另外,我想解决方案,如果我想在文本字段“标签”,例如:“音乐,电影,流行音乐,生活”多重价值,所以当人们输入搜索“生活电影”时,他们获得所有职位与那些特定的领域。感谢您对文本的更大空间感到抱歉。任何帮助将appriciated。
感谢您的回复,但似乎仍然没有工作,都没有例子。现在,我没有在我的functions.php中手动注册acf函数,我只是通过管理面板添加它们,也许我必须注册它们。? 对不起,打扰了你,这似乎很简单,但只是不适合我。 –