Как я могу получить поле ACF из пользовательского типа записи на страницу архива этого CPT? - PullRequest
0 голосов
/ 22 февраля 2020

Я создаю пользовательский тип сообщения с полем ACF внутри. Все отлично работает, но когда я хочу создать свою страницу archive-cpt. php, я не могу получить поле ACF, которое можно увидеть на этой странице.

Вот мой код страницы архива:

<?php get_header(); ?>

<main role="main">
    <!-- section -->
    <section>

  <h1><?php _e( 'Archives', 'trad' ); ?></h1>

  <div class="container">
  <div class="row"> 

  <?php if (have_posts()): while (have_posts()) : the_post(); ?>
  <div class="col-lg-4 mx-auto">

  <!-- article -->

  <h2 class="titre-extranet-article">


        <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
        </h2>

<li>

    <?php  // display a sub field value
    get_sub_field('titre'); ?></li>
    </div>

    <!-- /post thumbnail -->

    <?php endwhile; ?>

    <?php else: ?>

    <!-- article -->
    <article>
    <h2><?php _e( 'Sorry, nothing to display.', 'trad' ); ?></h2>
    </article>
    <!-- /article -->
    <?php endif; ?>

    </div>
    </div>
        <?php get_template_part('pagination'); ?>

    </section>
    <!-- /section -->
    </main>


    <?php get_footer(); ?>

Подполе 'titre' не отображается на странице моего архива. Где я не прав?

Спасибо.

Ответы [ 2 ]

1 голос
/ 23 февраля 2020

Вы можете получить это поле просто с помощью get_field(), если это одно текстовое поле.

Попробуйте с get_field()

<?php echo get_field('titre'); ?>

И еще одну вещь, которую вы забыли добавить эхо до get_sub_field(). Так что попробуйте с echo.

<?php echo get_sub_field( 'titre' ); ?>
0 голосов
/ 23 февраля 2020

get_sub_field () для поля повторителя. Таким образом, вы должны сначала получить родителя, например,

if( have_rows('parent_field') ):
    while ( have_rows('parent_field') ) : the_row();
        $titre = get_sub_field('titre');
        // Do something...
    endwhile;
endif;
...