我想创建所有博客帖子的锚列表。该列表应该位于博客页面的顶部。当我添加新帖子时,应该自动添加锚链接。
像这样: 我有一个包含所有博客文章的页面,我想要一个顶部所有帖子的列表。 “首发帖子”锚链接应链接到同一页上第一篇帖子的标题。等等。
我尝试了各种插件,但它们似乎只在博客文章或页面上创建了一个锚列表。你知道如何解决这个问题吗?
答案 0 :(得分:1)
试试这个:
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>';
将其插入主题文件中的任何位置,以生成帖子列表。将numberposts
上的get_posts
选项设置为-1会返回您博客的所有帖子。
答案 1 :(得分:1)
试试这个:
$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>';