【发布时间】:2014-02-18 20:02:59
【问题描述】:
我想为我的所有博客文章创建一个锚列表。该列表应该位于博客页面的顶部。当我添加新帖子时,应该自动添加锚链接。
像这样: 我有一个包含我所有博客帖子的页面,我想要一个所有帖子的列表在顶部。 “第一篇文章”锚链接应链接到同一页面上的第一篇文章的标题。以此类推。
我尝试了各种插件,但它们似乎只在博客文章或页面上创建锚列表。你知道如何解决这个问题吗?
【问题讨论】:
我想为我的所有博客文章创建一个锚列表。该列表应该位于博客页面的顶部。当我添加新帖子时,应该自动添加锚链接。
像这样: 我有一个包含我所有博客帖子的页面,我想要一个所有帖子的列表在顶部。 “第一篇文章”锚链接应链接到同一页面上的第一篇文章的标题。以此类推。
我尝试了各种插件,但它们似乎只在博客文章或页面上创建锚列表。你知道如何解决这个问题吗?
【问题讨论】:
试试这个:
$posts=get_posts(array('numberposts' => -1));
//list post titles
echo '<ul>';
foreach($posts as $post){
$post_title = $post->post_title;
echo "<li><a href='#$post_title' title='$post_title'>$post_title</a></li>";
}
echo '</ul>';
//now list post contents to be linked on the same page
echo '<div>';
foreach($posts as $post){
$post_title = $post->post_title;
$content = $post->post_content;
//echo "<h3 id='$post_title' title='$post_title'>$post_title</h3>";
echo "<p id='$post_title'> $content </p>";
}
echo '</div>';
【讨论】:
试试这个:
echo '<ul>';
foreach(get_posts(array('numberposts' => -1)) as $mypost) //Gets all posts
{
$post_url = get_permalink($mypost->ID);
$post_title = $mypost->post_title;
echo "<li><a href='$post_url' title='$post_title'>$post_title</a></li>";
}
echo '</ul>';
将其插入到您的主题文件中您想要生成帖子列表的任何位置。将 get_posts 上的 numberposts 选项设置为 -1 会返回您博客的所有帖子。
【讨论】: