我创建了一个模板,显示包含上一个和下一个链接的缩略图。这适用于普通帖子。
问题
我在自定义帖子中使用了相同的代码。它不显示下一个和上一个缩略图,而是显示当前自定义帖子的缩略图。我附上了一个截图,让您了解我想要创建的内容。
问题
有人可以弄清楚为什么这段代码在自定义帖子中不起作用?为什么它会通过错误的缩略图。
非常感谢, 厄伦
使用代码
<!-- Left Arrow -->
<div class="post-pagination-left">
<?php $prev_post = get_previous_post(); if (!empty( $prev_post )): ?>
<a href="<?php echo get_permalink( $prev_post->ID ); ?>" class="link">
<svg/></svg>
<span style="font-size:20px; font-weight:600;"> Previous</span><br>
<?php echo $prev_post->post_title; ?></a>
<?php endif; ?>
<span class="pagination-left-image"><?php $previousPost = get_previous_post(true); $previousthumbnail = get_the_post_thumbnail($previousPost->ID, array(500,500) ); echo $previousthumbnail; ?></span>
</div>
<!-- Right Arrow -->
<div class="post-pagination-right">
<?php $next_post = get_next_post(); if (!empty( $next_post )): ?>
<a href="<?php echo get_permalink( $next_post->ID ); ?>" class="link">
<span style="font-size:20px; font-weight:600;">Next </span>
<svg/></svg><br>
<?php echo $next_post->post_title; ?>
</a>
<?php endif; ?>
<span class="pagination-right-image"><?php $nextPost = get_next_post(true); $nextthumbnail = get_the_post_thumbnail($nextPost->ID, array(300,300) ); echo $nextthumbnail; ?></span>
</div>
答案 0 :(得分:0)
您以不同方式使用get_previous_post
两次。在第二个版本中,您将$in_same_term
参数设置为true。我的猜测是它找不到帖子所以返回一个空字符串。然后get_the_post_thumbnail()
将获取当前帖子的缩略图。
请尝试以下方法:
<!-- Left Arrow -->
<div class="post-pagination-left">
<?php // Get previous post.
$prev_post = get_previous_post();
if ( ! empty( $prev_post ) ) : ?>
<a href="<?php echo get_permalink( $prev_post->ID ); ?>" class="link">
<svg/></svg>
<span style="font-size:20px; font-weight:600;"> Previous</span><br>
<?php echo $prev_post->post_title; ?>
</a>
<span class="pagination-left-image">
<?php echo get_the_post_thumbnail( $prev_post->ID, array( 500, 500 ) );?>
</span>
<?php endif; ?>
</div>
请务必在下一篇文章中重复这一点。
您可能希望将条件移到div之外。我没有在我的回答中做到这一点,以防它破坏你的布局。您可以确保通过get_permalink
传递对象而不是帖子ID,清除内联CSS等其他改进。