Как отобразить записи отношений ACF в виде цикла в шаблоне страницы - PullRequest
0 голосов
/ 02 апреля 2019

Я создаю новый веб-сайт с настройками ACF Pro и Bootstrap.Я пробовал различные типы кода для отображения сообщений из пользовательского типа сообщения с использованием настраиваемого поля отношения.

В приведенном ниже коде в настоящее время отображаются ВСЕ сообщения в этом пользовательском типе сообщений, а не те, которые выбраны в пользовательском типе.поле.Для удобства и пользовательский тип записи, и имя поля называются «Vendors»

<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>    

````````````````````````````````````````````````

1 Ответ

0 голосов
/ 02 апреля 2019

Попробуйте это:

$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

Функция Ссылка / настройки postdata

...