【问题标题】:Anchor list of blog posts (Wordpress)博客文章的锚点列表(Wordpress)
【发布时间】:2014-02-18 20:02:59
【问题描述】:

我想为我的所有博客文章创建一个锚列表。该列表应该位于博客页面的顶部。当我添加新帖子时,应该自动添加锚链接。

像这样: 我有一个包含我所有博客帖子的页面,我想要一个所有帖子的列表在顶部。 “第一篇文章”锚链接应链接到同一页面上的第一篇文章的标题。以此类推。

我尝试了各种插件,但它们似乎只在博客文章或页面上创建锚列表。你知道如何解决这个问题吗?

【问题讨论】:

    标签: php html wordpress


    【解决方案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>';
    

    【讨论】:

    • 这就是我要找的!是否可以将锚点链接到每个帖子的 div ? (我想隐藏标题)
    【解决方案2】:

    试试这个:

    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 会返回您博客的所有帖子。

    【讨论】:

    • 这给了我每篇博文的链接列表。我想要一个锚链接。如果我有一个包含我所有博客文章的页面,我希望在页面顶部有一个锚点列表,当您单击其中一个链接时,您将获得一个锚点。您停留在同一页面上,您只会被发送到更下方(就在每个标题上方)。
    猜你喜欢
    • 1970-01-01
    • 2013-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-26
    相关资源
    最近更新 更多