ACF中继器字段显示

时间:2016-08-25 10:41:39

标签: php wordpress advanced-custom-fields

我在帖子类型中创建了一个名为“products”的自定义帖子类型和一个名为“Ingredients”的自定义分类。

我添加了一个名为'ingredients-INCI'的转发器字段和'ingredients-INCI-group'的子字段,它调用分类标准'Ingredients'中的值。

自定义中继器字段屏幕截图:

Click to view Custom Repeater Field Screenshot

每种产品都含有许多成分,我想展示产品所选成分的清单。这是我的模板代码:

<?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(); ?>

这段代码似乎打破了输出。请帮忙!

1 个答案:

答案 0 :(得分:0)

你可以试试这个。

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

所有转发器文件都将列在此&#34; $ productField&#34; valriable。

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