【问题标题】:WordPress - How to add anchor to previous/next page linksWordPress - 如何将锚点添加到上一页/下一页链接
【发布时间】:2012-11-02 03:04:29
【问题描述】:

我的 WordPress 主题顶部有一个图库,博客文章位于其下方。每次我转到下一页时,它都会转到我不想要的顶部。我想在图库下方添加一个名为#blog 的锚点,并将其添加到上一页/下一页链接。我应该在代码中的哪个位置放置#blog 来完成这项工作?

【问题讨论】:

    标签: php html wordpress anchor hyperlink


    【解决方案1】:

    您应该能够通过两次调整来做到这一点。第一个将创建锚点,第二个将调整链接以使用锚点。

    锚点可以被引用为具有name 属性的<a> 标记或几乎任何具有id 属性的标记。我想说大多数 WordPress 主题已经有一个可以在#content 中使用的锚点。导航到您的任何博客文章并查看源代码。在源码中搜索id="content",验证是否存在。如果没有,请找到您的实际帖子内容所在的id,您可以使用该地址。如果找不到,则需要创建一个。

    在您的 WordPress 主题文件中,查找名为 single.php 的文件。这通常是控制如何呈现单个帖子的文件。您将编辑此文件以添加锚点(如有必要)并调整链接。

    如果您无法找到要使用的 id(无论是“内容”还是其他任何内容),您需要找到调用内容以进行输出的位置,并将 id 添加到任何 HTML标签被包裹在它周围。

    例如,我的文件的精简版本如下所示:

    <div id="primary">
      <div id="content">
        <?php while ( have_posts() ) : the_post(); ?>
          <div class="entry-content">
           <?php the_content(); // this is your post content ?>
          </div><!-- .entry-content -->
        <?php endwhile; // end of the loop. ?>
      </div>
    </div>
    

    输出链接的方法有很多种,这取决于WordPress的主题和版本。在single.php 文件中,查找与“next_post”和“previous_post”相关的函数。大部分用于创建链接的函数都会自动为你写入整个链接标签(&lt;a&gt;),所以无法截取链接并更改它。

    您需要自己编写链接。下面的代码显示了如何获取信息和创建链接。它假定您将使用 id="content" 作为您的锚参考。

      <?php
      $prev_post = get_previous_post();
      if (!empty( $prev_post )): ?>
        <a href="<?php echo get_permalink( $prev_post->ID ); ?>#content"><?php echo $prev_post->post_title; ?></a>
      <?php endif; ?>
    
      <?php
      $next_post = get_next_post();
      if (!empty( $next_post )): ?>
        <a href="<?php echo get_permalink( $next_post->ID ); ?>#content"><?php echo $next_post->post_title; ?></a>
      <?php endif; ?>
    

    这应该会创建您正在寻找的链接,这些链接会自动将页面跳过图像并跳转到帖子内容。

    【讨论】:

    • 哇!非常感谢!这是一个很大的帮助!我可能会写一篇关于这个答案的博客,到处寻找!
    猜你喜欢
    • 2012-11-01
    • 1970-01-01
    • 2015-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-03
    相关资源
    最近更新 更多