Php 在WordPress中向查询变量添加多个值

Php 在WordPress中向查询变量添加多个值,php,wordpress,Php,Wordpress,我正在使用functions.php中的以下代码将自定义查询变量添加到我的WordPress项目中 <?php function add_custom_query_var( $vars ){ $vars[] = "brand"; return $vars; } add_filter( 'query_vars', 'add_custom_query_var' ); ?> 然后在我使用的内容页上: <?php echo $currentbrand = get_quer

我正在使用functions.php中的以下代码将自定义查询变量添加到我的WordPress项目中

<?php
function add_custom_query_var( $vars ){
  $vars[] = "brand";
  return $vars;
}
add_filter( 'query_vars', 'add_custom_query_var' );
?>

然后在我使用的内容页上:

<?php echo $currentbrand = get_query_var('brand'); ?>

现在我可以传递一个URL,如:

并在结果中获得nike

如何传递一个品牌的多个价值。所以我想为品牌设定3个价值,比如耐克、阿迪达斯和伍德兰

我尝试了以下方法,但均无效:

  • 它只返回最后一个品牌,在本例中为woodland

  • 这将返回所有三个空格。我觉得这不是正确的解决方案。因此,可能有一种正确的方法可以为查询变量传递多个值,并在数组中检索它们,从而可以运行循环


  • 您需要以这种方式传递查询参数

    品牌1=耐克&品牌2=阿迪达斯&品牌3=林地

    因此,每个品牌都有不同的关键点

    在页面上,接收值

    $params = $_GET;
    $brands = array();
    foreach($params as $k=>$v) {
        if(substr($k,0,5)=="brand") {
            $brands[] = $v;
        }
    }
    
    或者

    使用第二种方法


    另一种方法看起来更容易您需要以这种方式传递查询参数

    品牌1=耐克&品牌2=阿迪达斯&品牌3=林地

    因此,每个品牌都有不同的关键点

    在页面上,接收值

    $params = $_GET;
    $brands = array();
    foreach($params as $k=>$v) {
        if(substr($k,0,5)=="brand") {
            $brands[] = $v;
        }
    }
    
    或者

    使用第二种方法


    另一种方法看起来更容易通常您会传递参数,如
    ?brand[]=无响应的公司1&brand[]=其他无响应的品牌&brand[]=bunchOfCriminals

    在WordPress PHP代码中,然后
    get\u query\u var('brand')
    将返回一个数组


    其他一切听起来都是相对便宜但成本高昂的解决方法。

    通常,您会传递参数,如
    ?brand[]=无响应的公司1&brand[]=其他品牌,但不包括Remoch&brand[]=bunchOfCriminals

    在WordPress PHP代码中,然后
    get\u query\u var('brand')
    将返回一个数组


    其他一切听起来都是相对便宜但成本高昂的解决办法。

    谢谢。不同的钥匙会起作用。但我想知道,如果只需一个键,这是否可行。@KiranDash更新了答案,我想你正在寻找替代方法。我想我会选择这个。但我真正想要的是WordPress是否有一个内置的解决方案。我想不存在,谢谢。不同的钥匙会起作用。但我想知道,如果只需一个键,这是否可行。@KiranDash更新了答案,我想你正在寻找替代方法。我想我会选择这个。但我真正想要的是WordPress是否有一个内置的解决方案。我想这是不存在的