1

我对 PHP 很陌生,我在 WordPress 中工作,但我不认为这个问题是 WordPress 特有的。基本上,我运行了一个返回一些数字的 MySQL 查询。在 WordPress 中,您可以使用名为 wp_list_pages() 的函数来准确说明您想要包含哪些页面,如下所示:

 wp_list_pages('include=161,164,167,171,172,173,174,185,188,135,141,&title_li=');

三位数字都是邮政ID。我想做的是以编程方式生成这些数字,而不是硬编码它们。所以,我使用以下内容:

    $results = $wpdb->get_results("SELECT * FROM [table] WHERE [column] LIKE [string] ");
foreach($results as $returned_id) {$pagelist.=$returned_id->post_id.",";}

这很好用(括号中的所有内容都替换为实际信息)。它基本上只是在与我的 SQL 查询匹配的数字的 $pagelist 变量中创建一个列表。如果我要运行“echo $results”,输出将是“161,164,167...”等,这是硬编码版本的确切列表。

我现在想用编程版本替换硬编码版本 - 我想它应该是这样的

wp_list_pages('include=$pagelist');

但这不起作用。我想将该示例中的 $pagelist 替换为该变量的内容。我该怎么做?

4

4 回答 4

4

选项1

如果要评估变量,则需要使用双引号。

wp_list_pages("include=$pagelist")

或者

wp_list_pages("include={$pagelist}")

选项 2

使用字符串连接

wp_list_pages('include=' . $pagelist);

选项 3

采用sprintf

wp_list_pages(sprintf('include=%s',$pagelist));
于 2012-05-23T19:47:24.073 回答
0

在 PHP 中,变量只在双引号中查找,而不是您发现的。所以使用 " 而不是 '

wp_list_pages("include=$pagelist");

您可以做的另一件事是将变量与带有 . 像这样:

wp_list_pages('include='.$pagelist);
于 2012-05-23T19:47:14.223 回答
0

你试过了吗:

wp_list_pages('include=' . $pagelist);

或者

wp_list_pages("include={$pagelist}");
于 2012-05-23T19:47:47.220 回答
0

要引用字符串中的变量,您需要使用双引号。

于 2012-05-23T19:47:52.310 回答