我目前正在使用带有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篇博文?
任何帮助都会很棒!!
答案 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;
}