Wordpress:按标签获取帖子,标签是页面slug

时间:2014-12-09 03:57:51

标签: php wordpress wp-query

我正在编写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。

非常感谢任何建议,

干杯!

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