我是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。我该怎么做?
答案 0 :(得分: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));
答案 1 :(得分:0)
在PHP中,变量仅用双引号查找,而不是你所指出的。所以使用“而不是'
wp_list_pages("include=$pagelist");
您可以做的另一件事是将变量与字符串连接起来。像这样:
wp_list_pages('include='.$pagelist);
答案 2 :(得分:0)
你有没有尝试过:
wp_list_pages('include=' . $pagelist);
OR
wp_list_pages("include={$pagelist}");
答案 3 :(得分:0)
要引用字符串中的变量,您需要使用双引号。