我需要通过分类法元字段“<>城市”过滤我的自定义post类型"events“。但我做不到还需要帮助吗?
这就是我已经拥有的。但没有结果..。
function aa_pre_get_posts($query) {
if (is_admin() || $query->get('post_type') != 'my-events') return;
if(isset($_GET['city']) and trim($_GET['city']))
{
$query->set(
'tax_query',
array(
'relation' => 'AND',
array(
'taxonomy' => 'my_location',
'orderby' => 'meta_value',
'meta_query' => [[
'key' => 'city',
'value' => sanitize_text_field($_GET['city']),
'compare' => 'LIKE'
]],
)
)
);
}
}
add_action('pre_get_posts', 'aa_pre_get_posts');那么,怎么了?
发布于 2018-03-26 20:43:01
这是不可能通过WP_Query,但更重要的是,这将是惊人的昂贵。分类查询很昂贵。Post元查询非常昂贵。类似的查询也很昂贵。
查找所有具有类似于X的元的术语的帖子是一个非常昂贵/缓慢的查询。将其写入自定义SQL查询是唯一的选项,如果查询在10秒内完成,我会感到惊讶。如果您的站点拥有中等或更高级别的并发通信量,则可以轻松地关闭数据库服务器。
Would拥有一个城市分类法不是更快、更简单吗?如果您需要通过某种方式筛选或搜索帖子,请使用分类法术语。元不是用来搜索的
https://wordpress.stackexchange.com/questions/299002
复制相似问题