Проблемы с ACF при попытке отобразить данные - PullRequest
0 голосов
/ 25 мая 2020

У меня несколько проблем при попытке отобразить данные настраиваемых полей ACF. Я как бы новичок в этом плагине и уже обращался в службу поддержки, но они никогда не возвращаются ко мне ... Может ли кто-нибудь сказать мне, что с моим кодом что-то не так? Заранее спасибо.

Вот три примера:

  1. Попытка отобразить данные пост-объекта (ничего не отображается в интерфейсе)

Ответ от отладки:

array(1) { [0]=> object(WP_Post)#19823 (24) { ["ID"]=> int(5540) ["post_author"]=> string(1) "1" ["post_date"]=> string(19) "2020-05-11 16:41:54" ["post_date_gmt"]=> string(19) "2020-05-11 14:41:54" ["post_content"]=> string(0) "" ["post_title"]=> string(23) "FM : BCP Généralités" ["post_excerpt"]=> string(0) "" ["post_status"]=> string(7) "publish" ["comment_status"]=> string(4) "open" ["ping_status"]=> string(6) "closed" ["post_password"]=> string(0) "" ["post_name"]=> string(18) "fm-bcp-generalites" ["to_ping"]=> string(0) "" ["pinged"]=> string(0) "" ["post_modified"]=> string(19) "2020-05-18 11:36:06" ["post_modified_gmt"]=> string(19) "2020-05-18 09:36:06" ["post_content_filtered"]=> string(0) "" ["post_parent"]=> int(0) ["guid"]=> string(64) "http://localhost:8888/wordpress/?post_type=lp_course&p=5540" ["menu_order"]=> int(0) ["post_type"]=> string(9) "lp_course" ["post_mime_type"]=> string(0) "" ["comment_count"]=> string(1) "0" ["filter"]=> string(3) "raw" } }

Мой код:

<?php
$post_objects = get_field('selection_des_fiches_pedagogiques');

if( $post_objects ): ?>
    <ul>
    <?php foreach( $post_objects as $post): // variable must be called $post (IMPORTANT) ?>
        <?php setup_postdata($post); ?>
            <span>Durée : <?php the_field('duree'); ?></span>
    <?php endforeach; ?>
    </ul>
    <?php wp_reset_postdata(); // IMPORTANT - reset the $post object so the rest of the page works correctly ?>
<?php endif;
?>

        <?php
      endwhile;
      wp_reset_postdata();
    ?>
Попытка отобразить термины, показывает массив вместо значения впереди:
array(1) {
  [0]=>
  int(250)
}

Мой код:

<?php 
$terms = get_field('supportsformation');
if( $terms ): ?>
    <ul>
    <?php foreach( $terms as $term ): ?>
     <p> <?php echo esc_html( $term->name ); ?></p>
        <p><?php echo esc_html( $term->description ); ?></p>
    <?php endforeach; ?>
    </ul>
<?php endif; ?>
Данные объекта публикации, массив показывает это, а не отображаемое имя, как мне нужно:
Arrayarray(1) { [0]=> array(11) { ["ID"]=> int(24) ["user_firstname"]=> string(4) "Marc" ["user_lastname"]=> string(8) "Gangloff" ["nickname"]=> string(12) "FormateurDOF" ["user_nicename"]=> string(12) "formateurdof" ["display_name"]=> string(12) "FormateurDOF" ["user_email"]=> string(20) "formateurdof@test.fr" ["user_url"]=> string(0) "" ["user_registered"]=> string(19) "2020-05-12 15:13:09" ["user_description"]=> string(0) "" ["user_avatar"]=> string(259) "" } }

Мой код:

<?php
    $posts = get_field('sessions_a_venir');
    if($posts): 
?>
<ul>
    <?php 
        foreach( $posts as $post): // ne pas changer $post IMPORTANT
            setup_postdata($post);
            $event_id = get_the_id(); 

    ?>

    <li>
        <a href="<?php the_permalink(); ?>">
        <b>Date :</b> <?php echo tribe_get_start_date(); ?> - <b>Lieu</b> : <?php echo tribe_get_venue(); ?> - <b>Formateur :</b>

        <?php echo
$user = get_field('formateur');
if( $user ): ?>
    <h3><?php echo $user['display_name']; ?></h3>

    <?php endif; ?>



        <?php echo rtec_attendance_count_display( $event_id, '<b>Inscrits :</b> {num} sur {max}' ); ?>  </a>
    </li>
    <?php endforeach; ?>
</ul>

<?php 
        wp_reset_postdata(); // IMPORTANT - réinitialiser l'objet $post sur la requête principale
?>

<?php else: // field_name returned false ?>
<span>Aucune session n'est prévue pour cette formation.</span>
<?php endif; // end of if field_name logic ?>`

...