简体   繁体   中英

ACF Repeater field Display

I have created a custom post type called 'products' and a custom taxonomy within the post type called 'Ingredients'.

I've added a repeater field called 'ingredients-INCI' and sub field of 'ingredients-INCI-group' which calls the values from the taxonomy 'Ingredients'.

Custom Repeater Field Screenshot:

单击以查看自定义中继器字段屏幕截图

Each product has many ingredients, I would like to display a list of the chosen ingredients for the product. Here's my template code:

 <?php /** PostType Page Template: Product */ get_header(); ?> <div id="b_primary" class="b_content-area"> <main id="b_main" class="b_site__main" role="main"> <?php while ( have_posts() ) : the_post(); ?> <!-- START product information --> <div class="toptext">If you have any enquiries, please click here to contact us.</div> <div class="toptext">Please ensure you include all the products information that you wish to enquire about.</div> <div class="tableproduct"> <table> <tr> <th><div class="tabletitle">PRODUCT NAME</div></th> <th><div class="tableresult"><?php wp_title(); ?></div></th> </tr> <tr> <td><div class="tabletitle">PRODUCT DESCRIPTION</div></td> <td><div class="tableresult"><?php the_field('product_description'); ?></div></td> </tr> <tr> <td><div class="tabletitle">BRAND</div></td> <td><div class="tableresult"><?php the_field('brand'); ?></div></td> </tr> <tr> <td><div class="tabletitle">BARCODE</div></td> <td><div class="tableresult"><?php the_field('barcode'); ?></div></td> </tr> <tr> <td><div class="tabletitle">Ingredients (INCI Name)<br><div class="tablesubtitle">NOTE: Ingredients are listed in decreasing order of quantity.</div></div></td> <td><div class="tableresult"> <?php // check if the repeater field has rows of data if( have_rows('ingredients-INCI') ): // loop through the rows of data while ( have_rows('ingredients-INCI') ) : the_row(); // display a sub field value the_sub_field('ingredients-INCI-group'); endwhile; else : // no rows found endif; ?> </div></td> </tr> <tr> <td><div class="tabletitle">Fragrance Ingredients (INCI Name)<br><div class="tablesubtitle">NOTE: Fragrance Ingredients are those which require listing under EC648/2004 on detergents.</div></div></td> <td><div class="tableresult"> RESULTS HERE </div></td> </tr> </table> <div class="tabletitleother">OTHER INFORMATION</div> <div class="tableotherresults">The above formulation is for products manufactured between <?php the_field('date_from'); ?> and <?php the_field('date_to'); ?></div> <div class="tableyellow">INCI / CAS / Ingredient information CLICK HERE or HERE</div> </div> <!-- END product information --> <?php endwhile; // End of the loop. ?> </main><!-- #b_main --> </div><!-- #b_primary --> <?php get_sidebar(); ?> <?php get_footer(); ?> 

This code seems to break the output. Please help!

You can try this.

$productField = get_field('ingredients-INCI');

All the repeater fileds will be listed in this "$productField" valriable.

foreach($productField as $product){
   echo $product['ingredients-INCI-group'];
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM