I have a gallery at the top of my WordPress theme and the blog posts are below it. Each time I go to the next page it goes to the top which I don't want. I would like to add an anchor called #blog just below the gallery and add it to previous/next page links. Where in the code should I put #blog to make this work?
1 回答
您应该能够通过两次调整来做到这一点。第一个将创建锚点,第二个将调整链接以使用锚点。
锚点可以作为<a>
具有name
属性的标签或几乎任何具有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”相关的函数。大多数用于创建链接的函数会自动<a>
为您编写整个链接标记 ( ),因此无法截取链接并更改它。
您需要自己编写链接。下面的代码显示了如何获取信息和创建链接。它假定您将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; ?>
这应该会创建您正在寻找的链接,这些链接会自动将页面跳过图像并跳转到帖子内容。