为了补充之前的答案,您不仅可以使用get_template_part
, 但也要使用它的第二个参数,并将其与ACFs相结合get_row_layout
.
假设模板中的某个地方是:
<?php while ( have_posts() ) : the_post(); ?>
<article>
... SOME CODE
<?php while ( have_rows( \'YOUR_FIELD_NAME\' ) ) : the_row(); ?>
... HERE SHOULD GO THE CODE FOR ACF FIELD
<?php endwhile; ?>
... SOME OTHER CODE
</article>
<?php endwhile; ?>
您可以将其更改为:
<?php while ( have_posts() ) : the_post(); ?>
<article>
... SOME CODE
<?php
while ( have_rows( \'YOUR_FIELD_NAME\' ) ) :
the_row();
get_template_part( \'block\', get_row_layout() );
endwhile;
?>
... SOME OTHER CODE
</article>
<?php endwhile; ?>
然后,您可以创建名为的自定义模板:
block.php
(将用作后备),
block-layout_1.php
(它将用于名为“layout\\u 1”的布局,依此类推。