Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP Wordpress税务查询:在WP_查询数组中循环信息_Php_Wordpress_Multidimensional Array_Implode_Custom Taxonomy - Fatal编程技术网

PHP Wordpress税务查询:在WP_查询数组中循环信息

PHP Wordpress税务查询:在WP_查询数组中循环信息,php,wordpress,multidimensional-array,implode,custom-taxonomy,Php,Wordpress,Multidimensional Array,Implode,Custom Taxonomy,我试图创建一个函数来处理显示产品的多个分类要求。我警告你,这是一篇很长的文章,因为我已经展示了解决方案的迭代 上面的链接是一个基本的示例,我正试图对代码进行建模 我使用这个方向是因为我有自定义分类的自定义帖子。除非我已经获取了数组的值,并希望根据用户的请求生成它们 类似这样的数组被传递给函数以请求POST $requirements = array( array( 'taxonomy' =>'category', 'term' =>'

我试图创建一个函数来处理显示产品的多个分类要求。我警告你,这是一篇很长的文章,因为我已经展示了解决方案的迭代

上面的链接是一个基本的示例,我正试图对代码进行建模

我使用这个方向是因为我有自定义分类的自定义帖子。除非我已经获取了数组的值,并希望根据用户的请求生成它们

类似这样的数组被传递给函数以请求POST

$requirements = array(
        array(
        'taxonomy' =>'category',
        'term' =>'cheese'
        ),
        array(
        'taxonomy' =>'dairy',
        'term' =>'yogurt'
        ),

        );
我试图使用它,但不能在数组中foreach。这就是我对解决方案的看法。即使我知道这是错误的

function query_mult_tax($array){

$myquery['tax_query'] = array(
    'relation' => 'OR',
        foreach($array as $param){
         array(
                'taxonomy' => $param["taxonomy"],
                'terms' => $param["term"],
                'field' => 'slug',
            );
         }
);

query_posts($myquery);}
经过一些修补,我发现我可以在数组之外进行foreach,但是传递信息的唯一方法是在数组中。但是,当前函数总是使用不需要的数组来编写查询,从而扭曲所需的信息。这让我陷入了困境,因为我不知道如何在父数组中转义不需要的数组(因为我无法循环出它)

查询转储的挑战部分如下所示:

    [tax_query] => Array
    (
        [relation] => OR
        [0] => Array
            (
                [0] => Array
                    (
                        [taxonomy] => category
                        [terms] => cheese
                        [field] => slug
                        [operator] => IN
                    )

                [1] => Array
                    (
                        [taxonomy] => dairy
                        [terms] => yogurt
                        [field] => slug
                        [operator] => IN
                    )
            )
    )
而不是这个,这才是有效的

[tax_query] => Array
    (
        [relation] => AND
        [0] => Array
            (
                [taxonomy] => category
                [terms] => cheese
                [field] => slug
                [operator] => IN
            )

        [1] => Array
            (
                [taxonomy] => dariy
                [terms] => yogurt
                [field] => slug
                [operator] => IN
            )

    )

这是非常接近的,除了包裹在一个数组中。我该如何转义或格式化?我不能通过foreach这样做,因为我在父数组中。我尝试了
$args[0]
,它只为我提供了关于可能有很多规则的第一组规则。

经过一段时间的修补,我找到了它。在税务查询建成后,我需要对其进行验证

function fruit_query_mult_tax($array){
wp_reset_query();
$query = array('post_type' => 'fruit',
    'tax_query' => array()
);

$query['tax_query'] = array(
    'relation' => 'AND',
);
foreach($array as $param){
     $query['tax_query'][]=  array(
            'taxonomy' => $param["taxonomy"],
            'terms' => $param["term"],
            'field' => 'slug',
            'operator' => "IN",
        );
    }

$result = new WP_Query($query);

return $result;}
希望这能帮助其他尝试类似多情况税务查询的人

function fruit_query_mult_tax($array){
wp_reset_query();
$query = array('post_type' => 'fruit',
    'tax_query' => array()
);

$query['tax_query'] = array(
    'relation' => 'AND',
);
foreach($array as $param){
     $query['tax_query'][]=  array(
            'taxonomy' => $param["taxonomy"],
            'terms' => $param["term"],
            'field' => 'slug',
            'operator' => "IN",
        );
    }

$result = new WP_Query($query);

return $result;}