0

我正在尝试通过 WP_Query 获取所有帖子:

//url whould be www.blablabla.com/?cat=4
$featured = new WP_Query('cat=$_GET["cat"]');

其中 cat 是 Http GET 参数。这将返回忽略“cat”参数的所有帖子。但是,如果我写一个整数值而不是 $_GET 我会得到预期的帖子,即:

//This returns all the post of the category with slug = 4
$featured = new WP_Query('cat=4');

如果我之前写 $_GET["cat"] 然后屏幕上会出现一个 4 。我认为 WP_Query 将参数作为字符串获取,这使得条件被忽略,但我无论如何都尝试输入参数,但我无法让它工作。我是 Wordpress 的新手,所以我确信这非常愚蠢。

提前致谢!

4

2 回答 2

2

尝试

$featured = new WP_Query('cat='.$_GET["cat"]);

您传递给 WP_Query 的参数是一个单引号字符串。没有对单引号字符串进行变量插值,所以当你想传递 cat=4 时,你实际上传递的是文字字符串 cat=$_GET["cat"]

于 2013-09-26T18:54:43.370 回答
0

你确定 $_GET["cat"] 给你预期的价值吗?

try: $cat = $_GET["cat"];//您应该在此处添加验证 var_dump($cat);//只是为了检查是否存在正确的值,完成后删除此行 $featured = new WP_Query ("cat=$cat");

于 2013-09-26T18:56:06.087 回答