Я пытаюсь собрать ряд чисел внутри повторяемого подполя в пользовательском типе записи, а затем вывести сумму в строке текста. Я написал код ниже, но у меня был очень небольшой успех в том, чтобы заставить его работать.

Был бы признателен, если бы кто-то мог посмотреть и исправить для моего образования. Спасибо

<?php
  $args = array( 'post_type' => 'distribution-post' );
  $amount = new WP_Query( $args );
  $total = 0;

  while ( have_rows('arr_dist') ) : the_row();
      $total += intval( get_sub_field('amount'));
  endwhile;

  echo $total;
  wp_reset_query();
?>
0
user11633661 19 Авг 2019 в 08:14

2 ответа

Лучший ответ

Попробуйте приведенный ниже код. Вы пропустили использование have_post перед использованием have_row.

$args = array( 'post_type' => 'distribution-post' );
  $amount = new WP_Query( $args );
  $total = 0;

  if ( $amount->have_posts() ) {
        while ( $amount->have_posts() ) : $amount->the_post(); 
            while ( have_rows('arr_dist') ) : the_row();
              $total += intval( get_sub_field('amount'));
            endwhile;
        endwhile;
        wp_reset_postdata();
    }

  echo $total;
  wp_reset_query();
0
Vishal Pavasiya 19 Авг 2019 в 05:43
<?php 
$total = 0;
while(the_repeater_field('repeaterfield name' )): 
							  
$total += get_sub_field('repeatersubfield name' );
							  
endwhile; 
echo $total;
?>

Измените поле и подполе повторителя в соответствии с вашими потребностями.

0
Manish Pushkar Jha 19 Авг 2019 в 06:21