我有这行代码:<?php global $bp; query_posts('author=$bp->displayed_user->id'); if (have_posts()) : ?>
但它不能按预期方式工作。可能是因为它没有正确抓取$bp->displayed_user->id
部件。我该怎么做?PHP帮助使用内部变量代码
感谢
我有这行代码:<?php global $bp; query_posts('author=$bp->displayed_user->id'); if (have_posts()) : ?>
但它不能按预期方式工作。可能是因为它没有正确抓取$bp->displayed_user->id
部件。我该怎么做?PHP帮助使用内部变量代码
感谢
而不是内联变量的内容。 (这是使用单引号和双引号之间的主要区别有PHP strings手册页的读取更多的信息。)
为了解决这个问题,尝试两种:
query_posts('author=' . $bp->displayed_user->id);
或
query_posts("author={$bp->displayed_user->id}");
也就是说,我会亲自推荐第一种方法,因为它更明确发生了什么事情。
<?php global $bp; query_posts('author=' . $bp->displayed_user->id); if (have_posts()) : ?>
在单引号字符串变量将不会扩大。在此处查看文档:http://php.net/manual/en/language.types.string.php
使用单引号会导致PHP无法获取变量值。 而不是使用单引号的,你可以使用双引号:
<?php
global $bp;
query_posts("author={$bp->displayed_user->id}"); if (have_posts()) :
?>
还是这样(我THIK是更好):因为它的治疗'author=$bp->displayed_user->id'
作为一个字符串它不工作
<?php
global $bp;
query_posts('author=' . $bp->displayed_user->id); if (have_posts()) :
?>
请注意,您的第一个解决方案不起作用。 “$ a-> b”有效,但“$ a-> b-> c”不起作用。不知道为什么。 – Tomik 2011-02-05 14:33:37
我没跟着。那么我如何将id传给作者位呢? – Cameron 2011-02-05 14:30:56
Dot连接两个字符串 - 'author ='和$ bp-> displayed_user-> id,导致类似'author = 5'。 – Tomik 2011-02-05 14:35:01