我正在编写Wordpress页面模板,它将获取页面slug并使用WP_query来制作所有帖子的列表,其中tag = page slug。我的代码不会抛出任何错误,而是给我一个空列表,当肯定有适当标签的帖子时。
代码:
<?php
$tag = $post -> post_name;
$query = new WP_Query('tag = $tag');
while ($query -> have_posts()) {
$query -> the_post();
echo '<li>' . get_the_title() . '</li>';
}
?>
我在Mac,Yosemite上使用本地版本的Wordpress 4.0.1。
非常感谢任何建议,
干杯!
答案 0 :(得分:1)
这是一个非常常见的错误(我自己已经多次这样做了。)在PHP中,变量替换仅适用于由双引号绑定的字符串。单引号表示文字字符串。试试这个:
$query = new WP_Query("tag = $tag");
或者这个:
$query = new WP_Query('tag = '.$tag);
有关PHP字符串的更多信息:http://php.net/manual/en/language.types.string.php