列出wp_list_pages菜单中标题下的所有帖子

时间:2014-04-21 13:00:43

标签: php wordpress

我目前正在使用带有wordpress的默认页面导航(wp_list_pages),我已将主页设置为名为" Home"和我的博客到一个名为" Events"但我想列出" Events"。

的孩子最近的10个帖子

我尝试使用以下代码破解它,但它会在整个地方抛出内容并删除标记:

add_filter('wp_list_pages', 'add_forum_link');
function add_forum_link($output) {
        $output .= '<li><a href="#">Blog</a><ul>';

        query_posts('showposts=10');
        while ( have_posts() ){ the_post();

        $output .= '<li><a href="'.the_permalink().'">'.the_title().'</a></li>';
        }

        $output .= '</ul></li>';
        echo $output;
}

另外,我还要创建一个名为&#34; Events&#34;所以它不能很好地工作。

是否有一个选项可以让Wordpress找到我已设置为我的帖子的哪个页面并显示该标题下的最后10篇博文?

任何帮助都会很棒!!

1 个答案:

答案 0 :(得分:0)

试试这个,使用WP_Query而不是查询帖子,

此外,您无法列出页面名称(标题)下的帖子列表。因为帖子与页面无关。因此,您需要将页面名称保留为类别,并列出特定类别的帖子。

add_filter('wp_list_pages', 'add_forum_link');
function add_forum_link($output) {
        $output .= '<li><a href="#">Blog</a><ul>';

        $query = new WP_Query(array('posts_per_page' => 10,'post_type' => 'post'));

        while (  $query->have_posts() ){  $query->the_post();

        $output .= '<li><a href="'.the_permalink().'">'.the_title().'</a></li>';
        }

        $output .= '</ul></li>';
        echo $output;
}

//或者如果你需要列出所有类别事件下的帖子,那么使用它,但是你需要添加名为“events”的类别

add_filter('wp_list_pages', 'add_forum_link');
function add_forum_link($output) {
        $output .= '<li><a href="#">Blog</a><ul>';

        $query = new WP_Query(array('posts_per_page' => 10,'post_type' => 'post','category_name' => 'events'));

        while (  $query->have_posts() ){  $query->the_post();

        $output .= '<li><a href="'.the_permalink().'">'.the_title().'</a></li>';
        }

        $output .= '</ul></li>';
        echo $output;
}