首页 > 解决方案 > 有没有办法'我们将 $_Get 值传递给数组'

问题描述

我正在获取 url 字符串,

product_cat=预订&min_prep_time=180&max_prep_time=220

我在$_GET的帮助下将值传递到数组中。最近我在我的自定义文件中修改了 tax_querymeta_query的代码,这些对我来说很好,但是根据我的自定义要求,我将静态值更改为动态变量,看起来像这样

当我使用静态值时,数组完美地工作并获取了完美的数据

在具有静态值的数组工作之前

$meta_query[] = array(
                'key'     => '_new_field',
                *'value'   => array(  '19','22'),*
                'compare' => 'between',
                );

在它不工作之后

$meta_query[] = array(
                'key'     => '_new_field',
                *'value'   => array(  $min,$max),*
                'compare' => 'between',
        );  

这是我的完整代码,我相信这将帮助您理解我的问题

$prod = isset($_GET['product_cat'])    ? $_GET['product_cat']    : FALSE;
  $min  = isset($_GET['min_prep_time'])  ? $_GET['min_prep_time']  : FALSE;
  $max  = isset($_GET['max_prep_time'])  ? $_GET['max_prep_time']  : FALSE;

      if( $prod && ($prod=="booking") && $min && $max) {

     $tax_query[] = array(

           'taxonomy' => 'product_cat',

           'field' => 'slug',

           'terms' => array( $prod ), // Don't display products in the clothing category on the shop page.

           'operator' => 'IN'

    );

        $meta_query = (array)$q->get('meta_query');

        // Add your criteria
        $meta_query[] = array(
                'key'     => '_new_field',
                'value'   => array(  $min,$max),
                'compare' => 'between',
        );    

        // Set the meta query to the complete, altered query
        $q->set('meta_query',$meta_query);
        $q->set('tax_query', $tax_query);

我想要的是

我只希望我传递从 url 获得的值,并且数组将完美地工作,因为它适用于静态值。非常感谢

标签: wordpresswordpress-theming

解决方案


推荐阅读