• Всем привет.

    Есть страница, где выводятся произвольные типы записей.
    В каждом посте этих записей я пытаюсь вывести поля Custom field, но они не выводятся.

    Почему? Помогите, народ.

Просмотр 9 ответов — с 1 по 9 (всего 9)
  • как пытаетесь вывести то?
    примеры кода давайте.

    Как обычно, the_field(‘name’), get_field(‘name’) на странице где идет вывод постов

    <?php foreach(getMarks() as $markspost): ?>
        <div class="mark-slide">
        <?php echo get_the_post_thumbnail( $markspost->ID, 'large'); ?>
        <div class="info">
            <p class="title">
                <?php $markspost->post_title; ?>
            </p>
            <table>
               <tr>
                    <td class="one">Количество камер</td>
                    <td><?php the_field('kol_cames') ?></td>
               </tr>
               <tr>
                    <td class="one">Монтажная ширина</td>
                    <td><?php the_field('montage_width') ?></td>
               </tr>
               <tr>
                    <td class="one">Контур уплотнителя</td>
                    <td><?php the_field('kontur_upl') ?></td>
               </tr>
                <tr>
                    <td class="one">Звукоизоляция</td>
                    <td><?php the_field('sound') ?></td>
               </tr>
            </table>
            <div class="button-default"><a href="#">Подробнее</a></div>
        </div>
    </div>
    <?php endforeach; ?>
    Модератор Юрій

    (@yube)

    the_field(), насколько я понимаю, выводит поле текущей записи, а Вам нужно поле, относящиеся к записи, помещенной в переменную $markspost. Либо ищите у ACF функцию вывода поля явно указанной записи, либо используйте setup_postdata() для «глобализации» $markspost.

    Попробовал с setup_postdata().

    Не выводится всё равно.

    <?php foreach(getMarks() as $markspost){ setup_postdata($markspost); ?>
          <div class="mark-slide">
          <?php echo get_the_post_thumbnail( $markspost->ID, 'large'); ?>
          <div class="info">
              <p class="title">
                  <?php $markspost->post_title; ?>
              </p>
              <table>
                 <tr>
                      <td class="one">Количество камер</td>
                      <td><?php the_field('test') ?></td>
                 </tr>
                 <tr>
                      <td class="one">Монтажная ширина</td>
                      <td><?php the_field('montage_width') ?></td>
                 </tr>
                 <tr>
                      <td class="one">Контур уплотнителя</td>
                      <td><?php the_field('kontur_upl') ?></td>
                 </tr>
                  <tr>
                      <td class="one">Звукоизоляция</td>
                      <td><?php the_field('sound') ?></td>
                 </tr>
              </table>
              <div class="button-default"><a href="#">Подробнее</a></div>
          </div>
      </div>
      <?php }
      wp_reset_postdata(); // сбрасываем переменную $post
    ?>   
    • Ответ изменён 7 лет, 6 месяцев назад пользователем hypero.

    там и ID есть:

    
    <?php the_field('text_field', $postID); ?>
    

    Я через ID тоже пробовал. Не выводится.

    В настройках произвольного поля ACF в поле «Отображать эту группу полей » стоит Тип записи — marks. Когда я вместо типа записи ставлю «Страница — Страница товаров» и вывожу это поле с этой страницы, то поле выводится, но одно выводится везде одинаковым. Если тип записи — marks, то не выводится.

    • Ответ изменён 7 лет, 6 месяцев назад пользователем hypero.

    такой код ничего не выводит?

    
    <?php the_field('test', $markspost->ID); ?>
    

    добавьте в группу тот тип страницы, где вы выводите свои записи marks.
    вы об этом странице ничего не написали — это архив таксономии, кастомная страница или что?

    Ваш код помог, спасибо большое.

Просмотр 9 ответов — с 1 по 9 (всего 9)

Тема «Вывод произвольных полей Advanced Custom Field в произвольных типах записей» закрыта для новых ответов.