如何查询分类术语范围

时间:2011-10-20 作者:Jens Wedin

注意:如果您复制,链接将起作用(&A);粘贴它们。(我是个新手,所以我不允许添加到该问题的许多链接)

我有一些分类法,我想从中查询,例如

我发现这个问题对我有一些帮助

How to pass URL parameters for advanced taxonomy queries with multiple terms for one custom taxonomy

通过以上示例,我可以查询年龄分类法,作为10岁和20岁的示例

税收。jenswedin。com/age/10,20/税务。jenswedin。com/?年龄=10,20。

但如果我想查询不同年龄段的数据,例如10-20表,我需要

税收。jenswedin。com/age/10,11,12,13,14,15,16,17,18,19,20如果我想做一个10-100的范围,你可以想象它看起来不会那么好。

所以我试着把年龄术语放在亚分类学术语中,所以结构如下

11-20日

  • 税收。jenswedin。com/age/11-20/

  • 它会工作,它会显示11-20岁范围内的所有年龄

    但这种方法很不灵活,我只需要15-20之间的范围,这行不通。

    我想知道的是,是否有一种方法可以使范围更加动态和灵活。我知道@scribu有一个插件(不再支持),它支持最小值和;自定义字段的最大值。但我还没有在分类法中看到过这样的东西。

    chwisgi。com/?最小年龄=20岁;年龄上限=30岁,如有任何帮助,将不胜感激。

    1 个回复
    SO网友:kingkool68

    您可以使用查询变量,并通过编程在最小值和最大值之间展开数字。

    假设http://tax.jenswedin.com/age/10,20/ 被重写为http://tax.jenswedin.com/?age=10,20, 然后(伪代码)

    $parts = explode(get_query_var(\'age\'), \',\');
    $min_val = $parts[0]; // Should be 10 in this example
    $max_val = $parts[1]; // Should be 20 in this example
    $range = range($min_val, $max_val); // http://php.net/manual/en/function.range.php
    /* Blah blah blah lets jump to where you need to query the terms */
    $args = array(
        \'tax_query\' => array(
            array(
            \'taxonomy\' => \'age\',
            \'field\' => \'slug\',
            \'terms\' => $range
        )
    )
    );
    $query = new WP_Query( $args );
    
    这适用于数字之类的东西。但你可以foreach 在$range数组上循环,并使值成为所需的值。

    结束

    相关推荐

    从Custom Taxonomy获取帖子列表

    我可以很好地为我的自定义分类法获取类别id或slug,但我需要能够将所有帖子作为该分类法条目的数组获取。我的代码如下:$args = array( \'post_type\' => \'product\', \'post_status\' => \'publish\', \'posts_per_page\' => -1 );&#x