对不起,令人困惑的标题。我在 wordpress 中显示帖子列表,并使用 foreach 显示每个帖子的图像、标题等。然后我需要的是每个帖子都有一个导航,该导航使用锚点提供指向同一页面内其他帖子的链接。
我在第一个 foreach 中创建了另一个 foreach,它再次抓取相同的帖子并生成导航。这一切都很好,除了每个导航链接的值对于每个帖子中的每个链接都是相同的。
例如,如果帖子被称为 post1 和 post2,则 post1 内的导航应该有一个指向 post1 和 post2 的链接,但两个链接都指向 post1。同样在 post2 中,导航应该有一个指向 post1 和 post2 的链接,但两个链接都指向 post2:
//first foreach gets all the posts
<?php
$portfolioItems = array( 'numberposts' => 10, 'order'=> 'DESC', 'orderby' => 'title', 'category' => 4 );
$postslist = get_posts( $portfolioItems );
foreach ($postslist as $post) : setup_postdata($post); ?>
// navigation which grabs the same posts and creates a list out of them
<ol>
<?php $portfolioNav = array( 'numberposts' => 10, 'order'=> 'DESC', 'orderby' => 'title', 'category' => 4 );
$postsnav = get_posts( $portfolioNav );
foreach ($postsnav as $postnav) : setup_postdata($postnav); ?>
<li><a href="<?php the_field('portfolio_anchor'); ?>"><?php the_field('portfolio_anchor'); ?></a></li>
<?php endforeach; ?>
</ol>
// The data getting pulled from the first foreach
<div id="<?php the_field('portfolio_anchor'); ?>"></div>
<h3><?php the_title(); ?></h3>
<img src="<?php the_field('main_image'); ?>" />
<?php endforeach; ?>