数组内的WP_QUERY变量

时间:2013-02-07 作者:Stephen

下面带有“\'taxonomy\'=>\'age\'”的数组不起作用,如果我复制并粘贴数组“array(\'19\',\'20\')”来代替变量,它就可以正常工作。我刚开始学习PHP,所以请对我放松:)

                if($_REQUEST["price"] == 19){$price = "\'19\'";}
                elseif($_REQUEST["price"] == 20){$price = "array( \'19\', \'20\' )";}
                elseif($_REQUEST["price"] == 21){$price = "array( \'19\', \'20\', \'21\' )";}
                elseif($_REQUEST["price"] == 22){$price = "array( \'19\', \'20\', \'21\', \'22\' )";}
                elseif($_REQUEST["price"] == 23){$price = "array( \'19\', \'20\', \'21\', \'22\', \'23\' )";}
                echo $price;
                $my_query = new WP_Query( array(
                            \'post_status\' => \'publish\',
                            \'post_type\' => \'post\', 
                            \'cat\' => \'\' . $_REQUEST["category"] . \'\',
                            \'tax_query\' => array(
                                    \'relation\' => \'OR\',
                                    array(
                                        \'taxonomy\' => \'age\',
                                        \'field\' => \'id\',
                                        \'terms\' => \'\' . $_REQUEST["age"] . \'\'
                                    ),
                                    array(
                                        \'taxonomy\' => \'price\',
                                        \'field\' => \'id\',
                                        \'terms\' => $price,
                                        \'operator\' => \'IN\'
                                    ),
                                    array(
                                        \'taxonomy\' => \'group\',
                                        \'field\' => \'id\',
                                        \'terms\' => \'\' . $_REQUEST["group"] . \'\'
                                    )
                                ),
                            \'posts_per_page\' => \'-1\'
                            ) );

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

您的数组定义不正确。这

elseif($_REQUEST["price"] == 20){$price = "array( \'19\', \'20\' )";}
。。。创建读取“array(\'19\',20\')”的文本字符串。删除引号。

elseif($_REQUEST["price"] == 20){$price = array( \'19\', \'20\' );}
这将为您提供PHP数组。

结束

相关推荐

PHP variables in a post?

我对PHP非常陌生。在Wordpress网站上,我想使用带有Javascript API V3的自定义谷歌地图。一些帖子中会有地图,我想使用PHP变量来确定唯一的位置、缩放级别、信息窗口文本等。Google maps javascript将包含所有样式、地图类型以及地图之间一致的任何内容。因此,对于有地图的帖子,在帖子中写上类似的内容:<?php $location = \"-34.397, 150.644\"; $zoom = \"8\"; ?> &