按分类元值查询自定义邮寄类型

时间:2018-03-26 作者:ThommyCgn

我需要筛选我的自定义帖子类型“events“按分类法元字段”city“。但我不能让它工作,需要一些帮助?

这是我已经拥有的。但没有结果。。。

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\');
那么,怎么了?

1 个回复
SO网友:Tom J Nowell

这不可能通过WP_Query, 但更重要的是,这将是极其昂贵的。分类查询很昂贵。Post元查询非常昂贵。Like查询也很昂贵。

查找所有具有类似于X的meta的术语的帖子是一个非常昂贵/缓慢的查询。将其编写为自定义SQL查询是唯一的选择,如果查询在10秒内完成,我会感到惊讶。如果您的站点获得中等或更高级别的并发流量,它可以很容易地关闭数据库服务器。

Would it not be orders of magnitude faster and simpler to have a city taxonomy? 如果需要按某些内容筛选或搜索帖子,请使用分类术语。Meta不用于搜索

结束

相关推荐

Taxonomy Pagination Rewrite

我有一个名为“推荐信”的自定义帖子类型,其中包含reviews. 我还有一个名为“推荐部门”的分类法reviews. 目标是我将拥有像/reviews/sales/ 或/reviews/service/. 除了分页之外,一切都按照我的意愿进行。我尝试了所有不同的提示和技巧,以使分页按预期工作,但不管怎样/reviews/sales/page/2 就是不管用。但是,如果我手动输入/reviews/sales/?page=2 正如人们所期望的那样,这将导致第二页的结果。是否有允许我使用查询字符串的重写规则?p

按分类元值查询自定义邮寄类型 - 小码农CODE - 行之有效找到问题解决它

按分类元值查询自定义邮寄类型

时间:2018-03-26 作者:ThommyCgn

我需要筛选我的自定义帖子类型“events“按分类法元字段”city“。但我不能让它工作,需要一些帮助?

这是我已经拥有的。但没有结果。。。

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\');
那么,怎么了?

1 个回复
SO网友:Tom J Nowell

这不可能通过WP_Query, 但更重要的是,这将是极其昂贵的。分类查询很昂贵。Post元查询非常昂贵。Like查询也很昂贵。

查找所有具有类似于X的meta的术语的帖子是一个非常昂贵/缓慢的查询。将其编写为自定义SQL查询是唯一的选择,如果查询在10秒内完成,我会感到惊讶。如果您的站点获得中等或更高级别的并发流量,它可以很容易地关闭数据库服务器。

Would it not be orders of magnitude faster and simpler to have a city taxonomy? 如果需要按某些内容筛选或搜索帖子,请使用分类术语。Meta不用于搜索

相关推荐

如何控制根据Taxonomy术语显示什么模板?

我正在建立一个商业目录,并将给出一些背景,然后在最后有2个问题。The development URL is: http://svcta.lainternet.biz/The website I am rebuilding is: https://www.visitsimivalley.com/当前网站要求每个分类法类型具有唯一的业务概要文件。例如,如果您是一家酒店,并且您也有会议室和婚礼场地,那么您最终会得到3个列表,一个用于酒店,一个用于会议,一个用于婚礼。我希望有一个主配置文件,其中包含我们将显示的