如何在页面模板中将ACF关系帖子显示为循环

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在页面模板中将ACF关系帖子显示为循环相关的知识,希望对你有一定的参考价值。

我正在建立一个拥有ACF Pro和Bootstrap设置的新网站。我尝试了各种不同类型的代码,使用关系自定义字段显示自定义帖子类型的帖子。

以下代码当前显示该自定义帖子类型中的所有帖子,并且不显示在自定义字段中选择的帖子。为方便起见,自定义帖子类型和字段名称都称为“供应商”

<div class="partners-container solution-container">
<div class="container">
  <div class="row">
    <div class="col-md-12">
      <h2 style="margin-bottom: 0px; padding-bottom: 0px; width: 100%; text-align: center;">
        Show posts below
      </h2>
    </div>
  </div>
      <?php 

query_posts('post_type=vendors');
$vendorposts = get_field('vendors');

if( $vendorposts ): ?><div class="row justify-content-md-center">
     <?php
            $args = array( 'post_type' => 'vendors' );
            $loop = new WP_Query( $args );
            while ( $loop->have_posts() ) : $loop->the_post(); ?>

  <div class="col-xs-6 col-sm-4 col-md-2"><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail( 'single-post-thumbnail' ); ?></a></div>

  <?php endwhile; ?> </div>
    <?php wp_reset_postdata(); ?>
<?php endif; ?>       
    </div>
      </div>    

````````````````````````````````````````````````
答案

试试这个:

$vendorposts = get_field('vendors');

if( $vendorposts ): ?>
    <ul>
    <?php foreach( $vendorposts as $post): // variable must be called $post (IMPORTANT) ?>
        <?php setup_postdata($post); ?>
        <li>
            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
        </li>
    <?php endforeach; ?>
    </ul>
    <?php wp_reset_postdata(); // IMPORTANT - reset the $post object so the rest of the page works correctly ?>
<?php endif; ?>

文件:

ACF Relationship Field

Function Reference/setup postdata

以上是关于如何在页面模板中将ACF关系帖子显示为循环的主要内容,如果未能解决你的问题,请参考以下文章

根据 ACF 关系字段显示“相关帖子”

如何从 wordpress 中的帖子页面 id 获取 acf 的画廊图片 url

在 Wordpress 自定义帖子类型循环中使用 ACF 分类字段作为变量

使用存档页面中的 ACF 字段进行自定义帖子

如何在具有帖子类型的自定义页面上显示所有图像字段

获取(并显示)与 ACF 关系字段匹配的其他帖子