如何修复重复函数 ACF

How to fix repeating function ACF

我有一个函数 wpb_nos_formules() 可以制作一个 show répéteur 字段。如何修复此功能? 不知道哪里出错了error

function wpb_nos_formules() 
  {
    if( have_rows('formule') ): ?>
    <?php while( have_rows('formule') ): the_row(); 
     // vars
     $title = get_sub_field("title");
    ?>
           <ul>
           <li><?php echo $title; ?></li>
           </ul>

     <?php if( have_rows('slider') ): ?>
        <?php while( have_rows('slider') ): the_row(); 
         // vars
         $titlee = get_sub_field("title");
         $description = get_sub_field("description");
      ?>
    <ul>
      <li><?php echo $titlee; ?></li>
      <li><?php echo $description; ?></li>
     </ul>
    <?php endwhile; 
   endif; ?>

<?php endwhile; ?>
            

 <?php endif; 
 }
 add_shortcode('latest_nos_formule', 'wpb_nos_formules');

我修改了你的代码。简码函数应该 return。除非不需要,否则不要多次启动 <?php 和关闭 ?>

function wpb_nos_formules(){

    $html = '';

    if( have_rows('formule') ) : while( have_rows('formule') ) : the_row(); 
        $title = get_sub_field("title");
        $html .='<ul>
                    <li>'.$title.'</li>
                </ul>';
        if( have_rows('slider') ) : while( have_rows('slider') ) : the_row(); 
            $titlee      = get_sub_field("title");
            $description = get_sub_field("description"); 
            $html .='<ul>
                        <li>'.$titlee.'</li>
                        <li>'.$description.'</li>
                    </ul>';
        endwhile; endif; 
        
    endwhile; endif;

    return $html;
}
add_shortcode( 'latest_nos_formule', 'wpb_nos_formules' );